Version 2.0.0 — Generated 2026-03-19
Sales & Transactions
Core transactional data from Square POS — append-only, all monetary values in cents
Transactions
Every Square payment, refund, void, no-sale, paid-in/out, and exchange | Schema:
sales| Immutable: Yes
| Field | Type | Label | Description | Searchable | i18n Key |
|---|---|---|---|---|---|
id |
uuid | Transaction ID | Canary canonical UUID (GRO-237) | ✓ | field.transaction.id |
external_id |
text | Square Transaction ID | Square payment/order ID for source system reconciliation | ✓ | field.transaction.external_id |
order_id |
text | Order ID | Square order identifier | field.transaction.order_id |
|
receipt_number |
text | Receipt Number | Square receipt identifier | field.transaction.receipt_number |
|
source_type |
enum | Source Type | How this transaction was ingested | field.transaction.source_type |
|
transaction_type |
enum | Transaction Type | Classification of the transaction | ✓ | field.transaction.type |
cancel_context |
enum | Cancel Context | Why this transaction was canceled (GRO-257) | ✓ | field.transaction.cancel_context |
transaction_date |
datetime | Transaction Date | When the transaction occurred | ✓ | field.transaction.date |
amount_cents |
integer | Amount | Transaction total in cents | ✓ | field.transaction.amount |
tax_amount_cents |
integer | Tax Amount | Tax total in cents | ✓ | field.transaction.tax_amount |
discount_amount_cents |
integer | Discount Amount | Discount total in cents | ✓ | field.transaction.discount_amount |
tip_amount_cents |
integer | Tip Amount | Tip total in cents | field.transaction.tip_amount |
|
location_id |
uuid | Location | Where the transaction occurred | ✓ | field.transaction.location_id |
employee_id |
uuid | Employee | Who processed the transaction | ✓ | field.transaction.employee_id |
customer_id |
uuid | Customer | Customer associated with this transaction | ✓ | field.transaction.customer_id |
device_id |
text | Register/Device | POS device that processed the transaction | ✓ | field.transaction.device_id |
card_fingerprint |
text | Card Fingerprint | PCI-safe card identifier for velocity tracking | ✓ | field.transaction.card_fingerprint |
card_brand |
text | Card Brand | Payment card brand (Visa, Mastercard, etc.) | field.transaction.card_brand |
|
entry_method |
enum | Entry Method | How the card was read | ✓ | field.transaction.entry_method |
risk_level |
enum | Risk Level | Transaction risk assessment | field.transaction.risk_level |
|
square_product |
text | Channel | Square product/channel (Terminal, Online, etc.) | ✓ | field.transaction.square_product |
currency |
text | Currency | ISO 4217 currency code | field.transaction.currency |
|
created_at |
datetime | Created At | When Canary ingested this transaction | field.transaction.created_at |
|
approved_amount_cents |
integer | Approved Amount | Approved payment amount in cents — differs from amount on partial auth (Chirp C-010) | ✓ | field.transaction.approved_amount_cents |
processing_fee_cents |
integer | Processing Fee | Square processing fee total in cents | field.transaction.processing_fee_cents |
|
app_fee_cents |
integer | App Fee | Marketplace app fee in cents | field.transaction.app_fee_cents |
|
delay_action |
enum | Delay Action | What happens when hold expires (Chirp C-009) | ✓ | field.transaction.delay_action |
delay_duration |
text | Delay Duration | ISO 8601 hold duration string (e.g. PT36H) | field.transaction.delay_duration |
|
delayed_until |
text | Delayed Until | ISO 8601 timestamp when hold releases | field.transaction.delayed_until |
|
card_type |
enum | Card Type | DEBIT | CREDIT | NON_GIFT_CARD |
card_bin |
text | Card BIN | Bank identification number (first 6 digits) — issuer identification | ✓ | field.transaction.card_bin |
card_exp_month |
integer | Card Exp Month | Card expiration month (1-12) | field.transaction.card_exp_month |
|
card_exp_year |
integer | Card Exp Year | Card expiration year (4-digit) | field.transaction.card_exp_year |
|
verification_method |
enum | Verification Method | How the cardholder was verified | ✓ | field.transaction.verification_method |
application_id |
text | Application ID | Square application ID that processed this payment | ✓ | field.transaction.application_id |
device_installation_id |
text | Device Installation ID | Square device installation fingerprint | ✓ | field.transaction.device_installation_id |
statement_description |
text | Statement Description | Text appearing on cardholder statement | ✓ | field.transaction.statement_description |
is_offline_payment |
boolean | Offline Payment | True if payment was captured offline | ✓ | field.transaction.is_offline_payment |
Enum: source_type
| Value | Label | i18n Key |
|---|---|---|
WEBHOOK |
Webhook | enum.source_type.webhook |
POLLING |
Polling | enum.source_type.polling |
BATCH |
Batch | enum.source_type.batch |
Enum: transaction_type
| Value | Label | i18n Key |
|---|---|---|
SALE |
Sale | enum.transaction_type.sale |
RETURN |
Return | enum.transaction_type.return |
VOID |
Void | enum.transaction_type.void |
POST_VOID |
Post-Void | enum.transaction_type.post_void |
NO_SALE |
No Sale | enum.transaction_type.no_sale |
PAID_IN |
Paid In | enum.transaction_type.paid_in |
PAID_OUT |
Paid Out | enum.transaction_type.paid_out |
EXCHANGE |
Exchange | enum.transaction_type.exchange |
Enum: cancel_context
| Value | Label | i18n Key |
|---|---|---|
IMMEDIATE_VOID |
Immediate Void | enum.cancel_context.immediate_void |
MANAGER_VOID |
Manager Void | enum.cancel_context.manager_void |
EXPIRED_HOLD |
Expired Hold | enum.cancel_context.expired_hold |
TIMEOUT_VOID |
Timeout Void | enum.cancel_context.timeout_void |
UNKNOWN |
Unknown | enum.cancel_context.unknown |
Enum: entry_method
| Value | Label | i18n Key |
|---|---|---|
CHIP |
Chip | enum.entry_method.chip |
CONTACTLESS |
Contactless | enum.entry_method.contactless |
KEYED |
Keyed | enum.entry_method.keyed |
SWIPED |
Swiped | enum.entry_method.swiped |
MANUAL |
Manual | enum.entry_method.manual |
Enum: risk_level
| Value | Label | i18n Key |
|---|---|---|
low |
Low | enum.risk_level.low |
medium |
Medium | enum.risk_level.medium |
high |
High | enum.risk_level.high |
Enum: delay_action
| Value | Label | i18n Key |
|---|---|---|
CANCEL |
Cancel | enum.delay_action.cancel |
COMPLETE |
Complete | enum.delay_action.complete |
Enum: card_type
| Value | Label | i18n Key |
|---|---|---|
DEBIT |
Debit | enum.card_type.debit |
CREDIT |
Credit | enum.card_type.credit |
NON_GIFT_CARD |
Non Gift Card | enum.card_type.non_gift_card |
UNKNOWN |
Unknown | enum.card_type.unknown |
Enum:
verification_method
| Value | Label | i18n Key |
|---|---|---|
PIN |
PIN | enum.verification_method.pin |
SIGNATURE |
Signature | enum.verification_method.signature |
ON_DEVICE |
On Device | enum.verification_method.on_device |
NONE |
None | enum.verification_method.none |
Line Items
Order line item detail — products, quantities, discounts | Schema:
sales| Immutable: Yes
| Field | Type | Label | Description | Searchable | i18n Key |
|---|---|---|---|---|---|
id |
uuid | Line Item ID | Canary canonical UUID | field.line_item.id |
|
transaction_id |
uuid | Transaction | Parent transaction | field.line_item.transaction_id |
|
catalog_object_id |
text | Catalog Object ID | Square catalog item ID — joins to products | ✓ | field.line_item.catalog_object_id |
item_name |
text | Item Name | Product or item name | ✓ | field.line_item.item_name |
quantity |
integer | Quantity | Number of units sold | ✓ | field.line_item.quantity |
base_price_cents |
integer | Unit Price | Price per unit in cents | ✓ | field.line_item.base_price |
gross_sales_cents |
integer | Extended Price | Total line item price in cents (qty × unit price) | ✓ | field.line_item.gross_sales |
total_discount_cents |
integer | Line Discount | Discount applied to this line item — the sweethearting signal | ✓ | field.line_item.discount |
total_tax_cents |
integer | Line Tax | Tax on this line item in cents | field.line_item.tax |
|
item_type |
enum | Item Type | Classification of the line item | ✓ | field.line_item.item_type |
is_voided |
boolean | Is Voided | Whether this line item was voided | ✓ | field.line_item.is_voided |
Enum: item_type
| Value | Label | i18n Key |
|---|---|---|
ITEM |
Item | enum.item_type.item |
CUSTOM_AMOUNT |
Custom Amount | enum.item_type.custom_amount |
GIFT_CARD |
Gift Card | enum.item_type.gift_card |
Tenders
Payment method detail per transaction | Schema:
sales| Immutable: Yes
| Field | Type | Label | Description | Searchable | i18n Key |
|---|---|---|---|---|---|
id |
uuid | Tender ID | Canary canonical UUID | field.tender.id |
|
transaction_id |
uuid | Transaction | Parent transaction | field.tender.transaction_id |
|
tender_type |
enum | Payment Method | How the customer paid | ✓ | field.tender.type |
amount_cents |
integer | Tender Amount | Amount tendered in cents | ✓ | field.tender.amount |
card_brand |
text | Card Brand | Payment card brand | ✓ | field.tender.card_brand |
entry_method |
text | Entry Method | How the card was read | ✓ | field.tender.entry_method |
Enum: tender_type
| Value | Label | i18n Key |
|---|---|---|
CARD |
Card | enum.tender_type.card |
CASH |
Cash | enum.tender_type.cash |
SQUARE_GIFT_CARD |
Gift Card | enum.tender_type.gift_card |
OTHER |
Other | enum.tender_type.other |
NO_SALE |
No Sale | enum.tender_type.no_sale |
Refund Links
Cross-reference between refund and original payment | Schema:
sales| Immutable: Yes
| Field | Type | Label | Description | Searchable | i18n Key |
|---|---|---|---|---|---|
id |
uuid | Refund Link ID | Canary canonical UUID | field.refund_link.id |
|
refund_external_id |
text | Refund Transaction | External ID of the refund transaction | field.refund_link.refund_id |
|
original_external_id |
text | Original Transaction | External ID of the original payment | field.refund_link.original_id |
|
refund_amount_cents |
integer | Refund Amount | Refund amount in cents | field.refund_link.amount |
|
reason |
text | Refund Reason | Why the refund was issued | field.refund_link.reason |
Cash Drawer Shifts
Cash drawer open/close activity and variance tracking | Schema:
sales| Immutable: No
| Field | Type | Label | Description | Searchable | i18n Key |
|---|---|---|---|---|---|
id |
uuid | Shift ID | Canary canonical UUID | field.cash_drawer.id |
|
location_id |
uuid | Location | Store where the drawer is located | field.cash_drawer.location_id |
|
employee_id |
uuid | Employee | Employee who opened the drawer | field.cash_drawer.employee_id |
|
opened_at |
datetime | Shift Opened | When the drawer was opened | ✓ | field.cash_drawer.opened_at |
closed_at |
datetime | Shift Closed | When the drawer was closed | ✓ | field.cash_drawer.closed_at |
starting_cash_cents |
integer | Starting Cash | Cash in the drawer at open in cents | field.cash_drawer.starting_cash |
|
expected_cash_cents |
integer | Expected Cash | Expected cash at close in cents | ✓ | field.cash_drawer.expected_cash |
closed_cash_cents |
integer | Actual Cash | Actual cash counted at close in cents | ✓ | field.cash_drawer.closed_cash |
cash_variance_cents |
integer | Cash Variance | Difference between expected and actual in cents | field.cash_drawer.variance |
|
state |
enum | Drawer State | Current state of the cash drawer shift | field.cash_drawer.state |
Enum: state
| Value | Label | i18n Key |
|---|---|---|
OPEN |
Open | enum.drawer_state.open |
CLOSED |
Closed | enum.drawer_state.closed |
Gift Card Activities
Gift card load, redeem, and balance tracking | Schema:
sales| Immutable: Yes
| Field | Type | Label | Description | Searchable | i18n Key |
|---|---|---|---|---|---|
id |
uuid | Activity ID | Canary canonical UUID | field.gift_card.id |
|
gift_card_id |
text | Gift Card ID | Square gift card identifier | ✓ | field.gift_card.card_id |
activity_type |
enum | Activity Type | What happened to the gift card | ✓ | field.gift_card.activity_type |
amount_cents |
integer | Amount | Activity amount in cents (positive for load, negative for redeem) | ✓ | field.gift_card.amount |
balance_after_cents |
integer | Balance After | Running balance after this activity in cents | ✓ | field.gift_card.balance |
location_id |
uuid | Location | Where the activity occurred | ✓ | field.gift_card.location_id |
employee_id |
uuid | Employee | Who performed the activity | ✓ | field.gift_card.employee_id |
occurred_at |
datetime | Activity Time | When the activity occurred | ✓ | field.gift_card.occurred_at |
square_activity_id |
text | Square Activity ID | Square gift_card_activity_id (external ID) | field.gift_card_activities.square_activity_id |
|
linked_transaction_id |
uuid | Linked Transaction | FK to transactions.id — resolved from payment_id after parse | field.gift_card_activities.linked_transaction_id |
|
order_id |
text | Order ID | Square order_id from activity details (load/activate) | field.gift_card_activities.order_id |
|
payment_id |
text | Payment ID | Square payment_id from redeem_activity_details — used for linked_transaction_id resolution | field.gift_card_activities.payment_id |
|
reference_id |
text | Reference ID | Merchant-defined reference identifier for this activity | field.gift_card_activities.reference_id |
|
redeem_status |
enum | Redeem Status | Status of the redeem activity | field.gift_card_activities.redeem_status |
|
buyer_payment_instrument_ids |
jsonb | Buyer Payment Instruments | JSON array of buyer payment instrument IDs associated with this activity | field.gift_card_activities.buyer_payment_instrument_ids |
Enum: activity_type
| Value | Label | i18n Key |
|---|---|---|
ACTIVATE |
Activate | enum.gc_activity.activate |
LOAD |
Load | enum.gc_activity.load |
REDEEM |
Redeem | enum.gc_activity.redeem |
DEACTIVATE |
Deactivate | enum.gc_activity.deactivate |
ADJUST |
Adjust | enum.gc_activity.adjust |
REFUND |
Refund | enum.gc_activity.refund |
CLEAR_BALANCE |
Clear Balance | enum.gc_activity.clear_balance |
Enum: redeem_status
| Value | Label | i18n Key |
|---|---|---|
PENDING |
Pending | enum.redeem_status.pending |
COMPLETED |
Completed | enum.redeem_status.completed |
Loyalty Events
Loyalty program point accumulation and redemption | Schema:
sales| Immutable: Yes
| Field | Type | Label | Description | Searchable | i18n Key |
|---|---|---|---|---|---|
id |
uuid | Event ID | Canary canonical UUID | field.loyalty.id |
|
loyalty_account_id |
text | Loyalty Account | Loyalty account identifier | ✓ | field.loyalty.account_id |
event_type |
enum | Event Type | What happened with loyalty points | ✓ | field.loyalty.event_type |
points |
integer | Points | Points awarded or redeemed | ✓ | field.loyalty.points |
location_id |
uuid | Location | Where the event occurred | ✓ | field.loyalty.location_id |
occurred_at |
datetime | Event Time | When the event occurred | ✓ | field.loyalty.occurred_at |
order_id |
text | Order ID | Square order_id from accumulate_points or other detail objects | field.loyalty_events.order_id |
|
source_name |
text | Source | Event source name (SQUARE_POS | LOYALTY_API | IMPORT |
reward_id |
text | Reward ID | Square reward_id for REDEEM_REWARD/CREATE_REWARD/DELETE_REWARD events | field.loyalty_events.reward_id |
Enum: event_type
| Value | Label | i18n Key |
|---|---|---|
ACCUMULATE |
Accumulate | enum.loyalty_event.accumulate |
REDEEM |
Redeem | enum.loyalty_event.redeem |
ADJUST |
Adjust | enum.loyalty_event.adjust |
EXPIRE |
Expire | enum.loyalty_event.expire |
CREATE |
Create | enum.loyalty_event.create |
DELETE_REWARD |
Delete Reward | enum.loyalty_event.delete_reward |
Line Item Discounts
Discount detail per order or line item — EVERY FIELD from Square OrderLineItemDiscount. Enables C-201 (excessive discount) and C-203 (sweethearting) Chirp rules. | Schema:
sales| Immutable: Yes
| Field | Type | Label | Description | Searchable | i18n Key |
|---|---|---|---|---|---|
id |
uuid | Discount ID | Canary canonical UUID | field.line_item_discount.id |
|
merchant_id |
uuid | Merchant | Tenant merchant identifier | field.line_item_discount.merchant_id |
|
transaction_id |
uuid | Transaction | FK to transactions.id | field.line_item_discount.transaction_id |
|
discount_uid |
text | Discount UID | Square discount UID (unique within this order) | field.line_item_discount.discount_uid |
|
catalog_discount_id |
text | Catalog Discount ID | Square catalog_object_id for this discount | ✓ | field.line_item_discount.catalog_discount_id |
name |
text | Discount Name | Human-readable discount name | ✓ | field.line_item_discount.name |
discount_type |
enum | Discount Type | FIXED_PERCENTAGE | FIXED_AMOUNT | VARIABLE_PERCENTAGE |
percentage |
text | Percentage | Discount percentage (string, e.g. ‘10.5’) | ✓ | field.line_item_discount.percentage |
amount_cents |
integer | Discount Amount | Fixed discount amount in cents | ✓ | field.line_item_discount.amount_cents |
applied_cents |
integer | Applied Amount | Actual amount discounted in cents | ✓ | field.line_item_discount.applied_cents |
scope |
enum | Scope | ORDER | LINE_ITEM | ✓ |
reward_ids |
jsonb | Reward IDs | JSON array of loyalty reward IDs linked to this discount | field.line_item_discount.reward_ids |
|
pricing_rule_id |
text | Pricing Rule ID | Square pricing_rule_id (for rule-based discounts) | field.line_item_discount.pricing_rule_id |
|
created_at |
datetime | Created At | Insertion timestamp (append-only) | field.line_item_discount.created_at |
Enum: discount_type
| Value | Label | i18n Key |
|---|---|---|
FIXED_PERCENTAGE |
Fixed % | enum.discount_type.fixed_percentage |
FIXED_AMOUNT |
Fixed $ | enum.discount_type.fixed_amount |
VARIABLE_PERCENTAGE |
Variable % | enum.discount_type.variable_percentage |
VARIABLE_AMOUNT |
Variable $ | enum.discount_type.variable_amount |
Enum: scope
| Value | Label | i18n Key |
|---|---|---|
ORDER |
Order-level | enum.scope.order |
LINE_ITEM |
Line item-level | enum.scope.line_item |
Line Item Taxes
Tax detail per order or line item — EVERY FIELD from Square OrderLineItemTax. Enables tax rate auditing. | Schema:
sales| Immutable: Yes
| Field | Type | Label | Description | Searchable | i18n Key |
|---|---|---|---|---|---|
id |
uuid | Tax ID | Canary canonical UUID | field.line_item_tax.id |
|
merchant_id |
uuid | Merchant | Tenant merchant identifier | field.line_item_tax.merchant_id |
|
transaction_id |
uuid | Transaction | FK to transactions.id | field.line_item_tax.transaction_id |
|
tax_uid |
text | Tax UID | Square tax UID (unique within this order) | field.line_item_tax.tax_uid |
|
catalog_tax_id |
text | Catalog Tax ID | Square catalog_object_id for this tax | ✓ | field.line_item_tax.catalog_tax_id |
name |
text | Tax Name | Human-readable tax name (e.g. ‘CA Sales Tax’) | ✓ | field.line_item_tax.name |
tax_type |
enum | Tax Type | INCLUSIVE | ADDITIVE | ✓ |
percentage |
text | Percentage | Tax rate percentage (string, e.g. ‘8.750’) | ✓ | field.line_item_tax.percentage |
applied_cents |
integer | Applied Tax | Actual tax amount applied in cents | ✓ | field.line_item_tax.applied_cents |
scope |
enum | Scope | ORDER | LINE_ITEM | ✓ |
created_at |
datetime | Created At | Insertion timestamp (append-only) | field.line_item_tax.created_at |
Enum: tax_type
| Value | Label | i18n Key |
|---|---|---|
INCLUSIVE |
Inclusive | enum.tax_type.inclusive |
ADDITIVE |
Additive | enum.tax_type.additive |
Enum: scope
| Value | Label | i18n Key |
|---|---|---|
ORDER |
Order-level | enum.scope.order |
LINE_ITEM |
Line item-level | enum.scope.line_item |
Line Item Modifiers
Modifier detail per line item — EVERY FIELD from Square OrderLineItemModifier. Enables modifier abuse detection. | Schema:
sales| Immutable: Yes
| Field | Type | Label | Description | Searchable | i18n Key |
|---|---|---|---|---|---|
id |
uuid | Modifier ID | Canary canonical UUID | field.line_item_modifier.id |
|
merchant_id |
uuid | Merchant | Tenant merchant identifier | field.line_item_modifier.merchant_id |
|
transaction_id |
uuid | Transaction | FK to transactions.id | field.line_item_modifier.transaction_id |
|
line_item_uid |
text | Line Item UID | Square UID of the parent line item | field.line_item_modifier.line_item_uid |
|
modifier_uid |
text | Modifier UID | Square modifier UID (unique within this order) | field.line_item_modifier.modifier_uid |
|
catalog_modifier_id |
text | Catalog Modifier ID | Square catalog_object_id for this modifier | ✓ | field.line_item_modifier.catalog_modifier_id |
name |
text | Modifier Name | Human-readable modifier name (e.g. ‘Extra Shot’) | ✓ | field.line_item_modifier.name |
quantity |
text | Quantity | Modifier quantity (decimal string) | ✓ | field.line_item_modifier.quantity |
base_price_cents |
integer | Base Price | Modifier unit price in cents | ✓ | field.line_item_modifier.base_price_cents |
total_price_cents |
integer | Total Price | Total modifier price in cents (qty × base) | ✓ | field.line_item_modifier.total_price_cents |
created_at |
datetime | Created At | Insertion timestamp (append-only) | field.line_item_modifier.created_at |
Order Service Charges
Service charge detail per order — EVERY FIELD from Square OrderServiceCharge. Enables gratuity manipulation detection. | Schema:
sales| Immutable: Yes
| Field | Type | Label | Description | Searchable | i18n Key |
|---|---|---|---|---|---|
id |
uuid | Service Charge ID | Canary canonical UUID | field.order_service_charge.id |
|
merchant_id |
uuid | Merchant | Tenant merchant identifier | field.order_service_charge.merchant_id |
|
transaction_id |
uuid | Transaction | FK to transactions.id | field.order_service_charge.transaction_id |
|
charge_uid |
text | Charge UID | Square service charge UID | field.order_service_charge.charge_uid |
|
catalog_charge_id |
text | Catalog Charge ID | Square catalog_object_id for this service charge | ✓ | field.order_service_charge.catalog_charge_id |
name |
text | Charge Name | Human-readable charge name | ✓ | field.order_service_charge.name |
percentage |
text | Percentage | Service charge percentage (string) | ✓ | field.order_service_charge.percentage |
amount_cents |
integer | Charge Amount | Fixed service charge amount in cents | ✓ | field.order_service_charge.amount_cents |
applied_cents |
integer | Applied Amount | Actual charge applied in cents | ✓ | field.order_service_charge.applied_cents |
total_tax_cents |
integer | Tax on Charge | Total tax on this service charge in cents | field.order_service_charge.total_tax_cents |
|
calculation_phase |
text | Calculation Phase | SUBTOTAL_PHASE | TOTAL_PHASE | APPORTIONED_* |
taxable |
boolean | Taxable | Whether this service charge is taxable | ✓ | field.order_service_charge.taxable |
charge_type |
enum | Charge Type | AUTO_GRATUITY | CUSTOM | ✓ |
treatment_type |
text | Treatment Type | LINE_ITEM_TREATMENT | APPORTIONED_TREATMENT | |
scope |
enum | Scope | ORDER | LINE_ITEM | ✓ |
created_at |
datetime | Created At | Insertion timestamp (append-only) | field.order_service_charge.created_at |
Enum: charge_type
| Value | Label | i18n Key |
|---|---|---|
AUTO_GRATUITY |
Auto Gratuity | enum.charge_type.auto_gratuity |
CUSTOM |
Custom | enum.charge_type.custom |
Enum: scope
| Value | Label | i18n Key |
|---|---|---|
ORDER |
Order-level | enum.scope.order |
LINE_ITEM |
Line item-level | enum.scope.line_item |
Order Rewards
Loyalty reward redemptions per order — EVERY FIELD from Square OrderReward. Links loyalty to transactions. | Schema:
sales| Immutable: Yes
| Field | Type | Label | Description | Searchable | i18n Key |
|---|---|---|---|---|---|
id |
uuid | Order Reward ID | Canary canonical UUID | field.order_reward.id |
|
merchant_id |
uuid | Merchant | Tenant merchant identifier | field.order_reward.merchant_id |
|
transaction_id |
uuid | Transaction | FK to transactions.id | field.order_reward.transaction_id |
|
reward_id |
text | Reward ID | Square loyalty reward ID | ✓ | field.order_reward.reward_id |
reward_tier_id |
text | Reward Tier ID | Square loyalty reward tier ID | ✓ | field.order_reward.reward_tier_id |
created_at |
datetime | Created At | Insertion timestamp (append-only) | field.order_reward.created_at |
Order Returns
Return detail per order — EVERY FIELD from Square OrderReturn. Full return breakdown replacing is_voided flag. | Schema:
sales| Immutable: Yes
| Field | Type | Label | Description | Searchable | i18n Key |
|---|---|---|---|---|---|
id |
uuid | Return ID | Canary canonical UUID | field.order_return.id |
|
merchant_id |
uuid | Merchant | Tenant merchant identifier | field.order_return.merchant_id |
|
transaction_id |
uuid | Transaction | FK to transactions.id | field.order_return.transaction_id |
|
return_uid |
text | Return UID | Square return UID (unique within this order) | field.order_return.return_uid |
|
source_order_id |
text | Source Order ID | Square order_id of the original order being returned | ✓ | field.order_return.source_order_id |
return_line_items |
jsonb | Return Line Items | JSON array of returned line items (Square OrderReturnLineItem[]) | field.order_return.return_line_items |
|
return_amount_cents |
integer | Return Amount | Total return amount in cents | ✓ | field.order_return.return_amount_cents |
return_tax_cents |
integer | Return Tax | Tax component of the return in cents | ✓ | field.order_return.return_tax_cents |
return_discount_cents |
integer | Return Discount | Discount component of the return in cents | ✓ | field.order_return.return_discount_cents |
return_tip_cents |
integer | Return Tip | Tip component of the return in cents | ✓ | field.order_return.return_tip_cents |
created_at |
datetime | Created At | Insertion timestamp (append-only) | field.order_return.created_at |
Loyalty Accounts
Square loyalty program enrollment records | Schema:
sales| Immutable: No
| Field | Type | Label | Description | Searchable | i18n Key |
|---|---|---|---|---|---|
id |
uuid | ID | UUID primary key | field.loyalty_accounts.id |
|
merchant_id |
uuid | Merchant | Tenant merchant identifier | field.loyalty_accounts.merchant_id |
|
square_loyalty_id |
text | Square Loyalty ID | Square loyalty account ID | field.loyalty_accounts.square_loyalty_id |
|
phone_hash |
text | Phone (Hashed) | SHA-256 of phone number (PII protection) | field.loyalty_accounts.phone_hash |
|
points_balance |
integer | Points Balance | Current points balance | field.loyalty_accounts.points_balance |
|
lifetime_points |
integer | Lifetime Points | Lifetime accumulated points | field.loyalty_accounts.lifetime_points |
|
enrollment_source |
enum | Enrollment Source | TERMINAL | ONLINE | IMPORT |
enrollment_location_id |
text | Enrollment Location | Location where enrollment occurred | field.loyalty_accounts.enrollment_location_id |
|
enrolled_by_employee_id |
text | Enrolled By | Employee who enrolled the customer | field.loyalty_accounts.enrolled_by_employee_id |
|
enrolled_at |
datetime | Enrolled At | Enrollment timestamp | field.loyalty_accounts.enrolled_at |
Enum:
enrollment_source
| Value | Label | i18n Key |
|---|---|---|
TERMINAL |
Terminal | enum.enrollment_source.terminal |
ONLINE |
Online | enum.enrollment_source.online |
IMPORT |
Import | enum.enrollment_source.import |
Cash Drawer Events
Individual cash drawer events (no-sale, paid-in, paid-out) — APPEND-ONLY | Schema:
sales| Immutable: Yes
| Field | Type | Label | Description | Searchable | i18n Key |
|---|---|---|---|---|---|
id |
uuid | ID | UUID primary key | field.cash_drawer_events.id |
|
merchant_id |
uuid | Merchant | Tenant merchant identifier | field.cash_drawer_events.merchant_id |
|
shift_id |
uuid | Shift | FK to cash_drawer_shifts.id | field.cash_drawer_events.shift_id |
|
event_type |
enum | Event Type | Type of cash drawer event | ✓ | field.cash_drawer_events.event_type |
amount_cents |
integer | Amount | Event amount in cents | field.cash_drawer_events.amount_cents |
|
employee_id |
text | Employee | Employee who initiated event | field.cash_drawer_events.employee_id |
|
description |
text | Description | Event description/notes | field.cash_drawer_events.description |
|
event_at |
datetime | Event Time | When event occurred | field.cash_drawer_events.event_at |
Enum: event_type
| Value | Label | i18n Key |
|---|---|---|
NO_SALE |
No Sale | enum.cash_event_type.no_sale |
PAID_IN |
Paid In | enum.cash_event_type.paid_in |
PAID_OUT |
Paid Out | enum.cash_event_type.paid_out |
CASH_TENDER_PAYMENT |
Cash Payment | enum.cash_event_type.cash_tender_payment |
CASH_TENDER_CANCELLED_PAYMENT |
Cancelled Cash Payment | enum.cash_event_type.cash_tender_cancelled_payment |
OTHER |
Other | enum.cash_event_type.other |
Devices
Square POS terminal/device metadata | Schema:
sales| Immutable: No
| Field | Type | Label | Description | Searchable | i18n Key |
|---|---|---|---|---|---|
id |
uuid | ID | UUID primary key | field.devices.id |
|
merchant_id |
uuid | Merchant | Tenant merchant identifier | field.devices.merchant_id |
|
square_device_id |
text | Square Device ID | Square device ID | field.devices.square_device_id |
|
location_id |
text | Location | Square location_id where device is assigned | field.devices.location_id |
|
serial_number |
text | Serial Number | Terminal serial number | ✓ | field.devices.serial_number |
device_name |
text | Device Name | Seller-assigned device name | ✓ | field.devices.device_name |
os_version |
text | OS Version | Device OS version | ✓ | field.devices.os_version |
app_version |
text | App Version | Square app version | ✓ | field.devices.app_version |
payment_region |
text | Payment Region | Payment country/region | field.devices.payment_region |
|
network_connection_type |
enum | Network Type | WIFI | ETHERNET | ✓ |
ip_address |
text | IP Address | Device IP address | field.devices.ip_address |
|
battery_percentage |
text | Battery % | Battery level 1-100 | field.devices.battery_percentage |
|
charging_state |
enum | Charging State | CHARGING | NOT_CHARGING | |
raw_square_object |
jsonb | Raw Device Object | Complete Square Device/DeviceMetadata API response | field.devices.raw_square_object |
Enum:
network_connection_type
| Value | Label | i18n Key |
|---|---|---|
WIFI |
WiFi | enum.network_type.wifi |
ETHERNET |
Ethernet | enum.network_type.ethernet |
Enum: charging_state
| Value | Label | i18n Key |
|---|---|---|
CHARGING |
Charging | enum.charging_state.charging |
NOT_CHARGING |
Not Charging | enum.charging_state.not_charging |
Disputes
Payment disputes (chargebacks) filed against the merchant — APPEND-ONLY | Schema:
sales| Immutable: No
| Field | Type | Label | Description | Searchable | i18n Key |
|---|---|---|---|---|---|
id |
uuid | ID | UUID primary key | field.disputes.id |
|
merchant_id |
uuid | Merchant | Tenant merchant identifier | field.disputes.merchant_id |
|
square_dispute_id |
text | Square Dispute ID | Square dispute ID | field.disputes.square_dispute_id |
|
payment_id |
text | Payment ID | Square payment ID that was disputed | field.disputes.payment_id |
|
order_id |
text | Order ID | Square order ID associated with the dispute | field.disputes.order_id |
|
location_id |
text | Location | Location where the disputed transaction occurred | field.disputes.location_id |
|
reason |
text | Reason | Dispute reason (AMOUNT_DIFFERS, CANCELLED, DUPLICATE, NO_KNOWLEDGE, etc.) | ✓ | field.disputes.reason |
state |
enum | State | Current dispute state | ✓ | field.disputes.state |
amount_cents |
integer | Disputed Amount | Disputed amount in cents | ✓ | field.disputes.amount_cents |
currency |
text | Currency | Currency code | field.disputes.currency |
|
due_at |
datetime | Evidence Due | Deadline for submitting evidence | ✓ | field.disputes.due_at |
reported_at |
datetime | Reported At | When the dispute was reported | ✓ | field.disputes.reported_at |
Enum: state
| Value | Label | i18n Key |
|---|---|---|
INQUIRY_EVIDENCE_REQUIRED |
Inquiry: Evidence Required | enum.dispute_state.inquiry_evidence_required |
INQUIRY_PROCESSING |
Inquiry: Processing | enum.dispute_state.inquiry_processing |
INQUIRY_CLOSED |
Inquiry: Closed | enum.dispute_state.inquiry_closed |
EVIDENCE_REQUIRED |
Evidence Required | enum.dispute_state.evidence_required |
PROCESSING |
Processing | enum.dispute_state.processing |
WON |
Won | enum.dispute_state.won |
LOST |
Lost | enum.dispute_state.lost |
ACCEPTED |
Accepted | enum.dispute_state.accepted |
Inventory Adjustments
Inventory count adjustments (shrinkage, receipts, transfers) — APPEND-ONLY | Schema:
sales| Immutable: Yes
| Field | Type | Label | Description | Searchable | i18n Key |
|---|---|---|---|---|---|
id |
uuid | ID | UUID primary key | field.inventory_adjustments.id |
|
merchant_id |
uuid | Merchant | Tenant merchant identifier | field.inventory_adjustments.merchant_id |
|
square_adjustment_id |
text | Square Adjustment ID | Square inventory_adjustment_id | field.inventory_adjustments.square_adjustment_id |
|
catalog_object_id |
text | Catalog Object | Square catalog_object_id (SKU) | field.inventory_adjustments.catalog_object_id |
|
location_id |
text | Location | Square location_id | field.inventory_adjustments.location_id |
|
adjustment_type |
enum | Type | Type of inventory adjustment | ✓ | field.inventory_adjustments.adjustment_type |
quantity_change |
integer | Quantity Change | Quantity change (positive or negative) | field.inventory_adjustments.quantity_change |
|
team_member_id |
text | Team Member | Employee who made adjustment | field.inventory_adjustments.team_member_id |
|
reason |
text | Reason | Reason for adjustment (theft, spoilage, miscounting, etc.) | field.inventory_adjustments.reason |
|
occurred_at |
datetime | Occurred At | When adjustment occurred | field.inventory_adjustments.occurred_at |
Enum: adjustment_type
| Value | Label | i18n Key |
|---|---|---|
SHRINKAGE |
Shrinkage | enum.adjustment_type.shrinkage |
RECEIPT |
Receipt | enum.adjustment_type.receipt |
SALE |
Sale | enum.adjustment_type.sale |
MANUAL |
Manual | enum.adjustment_type.manual |
TRANSFER_IN |
Transfer In | enum.adjustment_type.transfer_in |
TRANSFER_OUT |
Transfer Out | enum.adjustment_type.transfer_out |
Employee Timecards
Employee clock-in/out records — operational (updated during shift) | Schema:
sales| Immutable: No
| Field | Type | Label | Description | Searchable | i18n Key |
|---|---|---|---|---|---|
id |
uuid | ID | UUID primary key | field.employee_timecards.id |
|
merchant_id |
uuid | Merchant | Tenant merchant identifier | field.employee_timecards.merchant_id |
|
square_timecard_id |
text | Square Timecard ID | Square timecard_id | field.employee_timecards.square_timecard_id |
|
employee_id |
text | Employee | Square employee_id | ✓ | field.employee_timecards.employee_id |
location_id |
text | Location | Square location_id (work location) | field.employee_timecards.location_id |
|
start_at |
datetime | Clock In | Clock-in timestamp | field.employee_timecards.start_at |
|
end_at |
datetime | Clock Out | Clock-out timestamp | field.employee_timecards.end_at |
|
breaks |
jsonb | Breaks | JSON array of break periods | field.employee_timecards.breaks |
|
status |
enum | Status | OPEN | CLOSED | ✓ |
hourly_rate_cents |
integer | Hourly Rate | Hourly rate in cents (for wage analysis) | field.employee_timecards.hourly_rate_cents |
Enum: status
| Value | Label | i18n Key |
|---|---|---|
OPEN |
Open (Clocked In) | enum.timecard_status.open |
CLOSED |
Closed (Clocked Out) | enum.timecard_status.closed |
Payouts
Merchant payouts (Square to bank transfers) — APPEND-ONLY | Schema:
sales| Immutable: Yes
| Field | Type | Label | Description | Searchable | i18n Key |
|---|---|---|---|---|---|
id |
uuid | ID | UUID primary key | field.payouts.id |
|
merchant_id |
uuid | Merchant | Tenant merchant identifier | field.payouts.merchant_id |
|
square_payout_id |
text | Square Payout ID | Square payout ID | field.payouts.square_payout_id |
|
location_id |
text | Location | Location associated with the payout | field.payouts.location_id |
|
status |
enum | Status | Payout status | ✓ | field.payouts.status |
amount_cents |
integer | Amount | Payout amount in cents | ✓ | field.payouts.amount_cents |
currency |
text | Currency | Currency code | field.payouts.currency |
|
destination_type |
enum | Destination Type | BANK_ACCOUNT or CARD | ✓ | field.payouts.destination_type |
arrival_date |
datetime | Arrival Date | Expected or actual arrival date | ✓ | field.payouts.arrival_date |
failure_reason |
text | Failure Reason | Reason for failure (if status=FAILED) | field.payouts.failure_reason |
Enum: status
| Value | Label | i18n Key |
|---|---|---|
SENT |
Sent | enum.payout_status.sent |
PAID |
Paid | enum.payout_status.paid |
FAILED |
Failed | enum.payout_status.failed |
Enum: destination_type
| Value | Label | i18n Key |
|---|---|---|
BANK_ACCOUNT |
Bank Account | enum.destination_type.bank_account |
CARD |
Card | enum.destination_type.card |
Invoices
Square invoices sent to customers for payment — APPEND-ONLY | Schema:
sales| Immutable: No
| Field | Type | Label | Description | Searchable | i18n Key |
|---|---|---|---|---|---|
id |
uuid | ID | Canary UUID | field.invoices.id |
|
merchant_id |
uuid | Merchant | Tenant merchant identifier | field.invoices.merchant_id |
|
square_invoice_id |
text | Square Invoice ID | Square’s invoice identifier | field.invoices.square_invoice_id |
|
order_id |
text | Order ID | Linked Square order ID | field.invoices.order_id |
|
location_id |
text | Location ID | Square location ID | field.invoices.location_id |
|
creator_team_member_id |
text | Created By | Team member who created the invoice | field.invoices.creator_team_member_id |
|
subscription_id |
text | Subscription ID | Linked subscription ID | field.invoices.subscription_id |
|
invoice_number |
text | Invoice Number | Human-readable invoice number | ✓ | field.invoices.invoice_number |
title |
text | Title | Invoice title | ✓ | field.invoices.title |
description |
text | Description | Invoice description | field.invoices.description |
|
invoice_status |
enum | Status | Invoice lifecycle status | ✓ | field.invoices.invoice_status |
version |
integer | Version | Invoice version number | field.invoices.version |
|
timezone |
text | Timezone | Invoice timezone | field.invoices.timezone |
|
delivery_method |
text | Delivery Method | How invoice is delivered | ✓ | field.invoices.delivery_method |
scheduled_at |
datetime | Scheduled At | When invoice is scheduled to be sent | ✓ | field.invoices.scheduled_at |
public_url |
text | Public URL | Shareable URL for invoice | field.invoices.public_url |
|
next_payment_amount_cents |
integer | Next Payment Amount | Amount due on next payment in cents | ✓ | field.invoices.next_payment_amount_cents |
currency |
text | Currency | ISO 4217 currency code | field.invoices.currency |
|
sale_or_service_date |
text | Service Date | Date of sale or service | field.invoices.sale_or_service_date |
|
store_payment_method_enabled |
boolean | Store Payment Method | Whether customer can save payment method | field.invoices.store_payment_method_enabled |
|
primary_recipient |
jsonb | Primary Recipient | Invoice recipient details | field.invoices.primary_recipient |
|
payment_requests |
jsonb | Payment Requests | Invoice payment schedule | field.invoices.payment_requests |
|
accepted_payment_methods |
jsonb | Accepted Payment Methods | Payment methods accepted | field.invoices.accepted_payment_methods |
|
custom_fields |
jsonb | Custom Fields | Merchant-defined custom fields | field.invoices.custom_fields |
|
attachments |
jsonb | Attachments | Invoice file attachments | field.invoices.attachments |
|
raw_square_object |
jsonb | Raw Square Object | Full Square invoice payload | field.invoices.raw_square_object |
|
created_at |
datetime | Created At | Row creation timestamp | field.invoices.created_at |
|
updated_at |
datetime | Updated At | Row last update timestamp | field.invoices.updated_at |
Enum: invoice_status
| Value | Label | i18n Key |
|---|---|---|
DRAFT |
Draft | enum.invoice_status.draft |
UNPAID |
Unpaid | enum.invoice_status.unpaid |
SCHEDULED |
Scheduled | enum.invoice_status.scheduled |
PARTIALLY_PAID |
Partially Paid | enum.invoice_status.partially_paid |
PAID |
Paid | enum.invoice_status.paid |
REFUNDED |
Refunded | enum.invoice_status.refunded |
CANCELED |
Canceled | enum.invoice_status.canceled |
PAYMENT_PENDING |
Payment Pending | enum.invoice_status.payment_pending |
Terminal Checkouts
Square Terminal checkout sessions — APPEND-ONLY | Schema:
sales| Immutable: Yes
| Field | Type | Label | Description | Searchable | i18n Key |
|---|---|---|---|---|---|
id |
uuid | ID | Canary UUID | field.terminal_checkouts.id |
|
merchant_id |
uuid | Merchant | Tenant merchant identifier | field.terminal_checkouts.merchant_id |
|
square_checkout_id |
text | Square Checkout ID | Square Terminal checkout ID (tmco_…) | ✓ | field.terminal_checkouts.square_checkout_id |
order_id |
text | Order ID | Linked Square order ID | field.terminal_checkouts.order_id |
|
location_id |
text | Location ID | Square location ID | field.terminal_checkouts.location_id |
|
device_id |
text | Device ID | Device where checkout was initiated | ✓ | field.terminal_checkouts.device_id |
reference_id |
text | Reference ID | Merchant-defined reference | field.terminal_checkouts.reference_id |
|
note |
text | Note | Merchant note on the checkout | field.terminal_checkouts.note |
|
amount_cents |
integer | Amount | Checkout amount in cents | ✓ | field.terminal_checkouts.amount_cents |
currency |
text | Currency | ISO 4217 currency code | field.terminal_checkouts.currency |
|
status |
enum | Status | Checkout status | ✓ | field.terminal_checkouts.status |
cancel_reason |
text | Cancel Reason | Why checkout was canceled | ✓ | field.terminal_checkouts.cancel_reason |
payment_ids |
jsonb | Payment IDs | JSON array of linked payment IDs | field.terminal_checkouts.payment_ids |
|
deadline_duration |
text | Deadline Duration | ISO 8601 duration for checkout expiry | field.terminal_checkouts.deadline_duration |
|
app_id |
text | App ID | Square app that initiated the checkout | field.terminal_checkouts.app_id |
|
square_created_at |
datetime | Square Created At | Timestamp from Square checkout.created_at | field.terminal_checkouts.square_created_at |
|
square_updated_at |
datetime | Square Updated At | Timestamp from Square checkout.updated_at | field.terminal_checkouts.square_updated_at |
|
created_at |
datetime | Created At | Row insertion timestamp | field.terminal_checkouts.created_at |
|
updated_at |
datetime | Updated At | Row last update timestamp | field.terminal_checkouts.updated_at |
Enum: status
| Value | Label | i18n Key |
|---|---|---|
PENDING |
Pending | enum.terminal_status.pending |
IN_PROGRESS |
In Progress | enum.terminal_status.in_progress |
CANCEL_REQUESTED |
Cancel Requested | enum.terminal_status.cancel_requested |
CANCELED |
Canceled | enum.terminal_status.canceled |
COMPLETED |
Completed | enum.terminal_status.completed |
Terminal Refunds
Square Terminal refund sessions — APPEND-ONLY | Schema:
sales| Immutable: Yes
| Field | Type | Label | Description | Searchable | i18n Key |
|---|---|---|---|---|---|
id |
uuid | ID | Canary UUID | field.terminal_refunds.id |
|
merchant_id |
uuid | Merchant | Tenant merchant identifier | field.terminal_refunds.merchant_id |
|
square_refund_id |
text | Square Refund ID | Square Terminal refund ID (tmrf_…) | ✓ | field.terminal_refunds.square_refund_id |
refund_id |
text | Refund ID | Linked Square refund from Refunds API | field.terminal_refunds.refund_id |
|
payment_id |
text | Payment ID | Square payment ID being refunded | ✓ | field.terminal_refunds.payment_id |
order_id |
text | Order ID | Linked order ID | field.terminal_refunds.order_id |
|
location_id |
text | Location ID | Square location ID | field.terminal_refunds.location_id |
|
device_id |
text | Device ID | Device where refund was issued | ✓ | field.terminal_refunds.device_id |
amount_cents |
integer | Amount | Refund amount in cents | ✓ | field.terminal_refunds.amount_cents |
currency |
text | Currency | ISO 4217 currency code | field.terminal_refunds.currency |
|
reason |
text | Reason | Refund reason text | ✓ | field.terminal_refunds.reason |
status |
enum | Status | Refund status | ✓ | field.terminal_refunds.status |
cancel_reason |
text | Cancel Reason | Why refund was canceled | field.terminal_refunds.cancel_reason |
|
deadline_duration |
text | Deadline Duration | ISO 8601 duration for refund expiry | field.terminal_refunds.deadline_duration |
|
square_created_at |
datetime | Square Created At | Timestamp from Square refund.created_at | field.terminal_refunds.square_created_at |
|
square_updated_at |
datetime | Square Updated At | Timestamp from Square refund.updated_at | field.terminal_refunds.square_updated_at |
|
created_at |
datetime | Created At | Row insertion timestamp | field.terminal_refunds.created_at |
|
updated_at |
datetime | Updated At | Row last update timestamp | field.terminal_refunds.updated_at |
Enum: status
| Value | Label | i18n Key |
|---|---|---|
PENDING |
Pending | enum.terminal_status.pending |
IN_PROGRESS |
In Progress | enum.terminal_status.in_progress |
CANCEL_REQUESTED |
Cancel Requested | enum.terminal_status.cancel_requested |
CANCELED |
Canceled | enum.terminal_status.canceled |
COMPLETED |
Completed | enum.terminal_status.completed |
Evidence Journal Links
Index linking raw evidence records to parsed entity IDs for fast lookup | Schema:
sales| Immutable: Yes
| Field | Type | Label | Description | Searchable | i18n Key |
|---|---|---|---|---|---|
id |
integer | ID | ID for ej links | ✓ | field.ej_links.id |
evidence_record_id |
integer | Evidence Record ID | Evidence Record ID for ej links | field.ej_links.evidence_record_id |
|
merchant_id |
text | Merchant ID | Merchant ID for ej links | field.ej_links.merchant_id |
|
event_type |
text | Event Type | Event Type for ej links | ✓ | field.ej_links.event_type |
received_at |
datetime | Received At | Received At for ej links | field.ej_links.received_at |
|
order_id |
text | Order ID | Order ID for ej links | field.ej_links.order_id |
|
payment_id |
text | Payment ID | Payment ID for ej links | field.ej_links.payment_id |
|
refund_id |
text | Refund ID | Refund ID for ej links | field.ej_links.refund_id |
|
location_id |
text | Location ID | Location ID for ej links | field.ej_links.location_id |
|
team_member_id |
text | Team Member ID | Team Member ID for ej links | field.ej_links.team_member_id |
|
device_id |
text | Device ID | Device ID for ej links | field.ej_links.device_id |
|
customer_id |
text | Customer ID | Customer ID for ej links | field.ej_links.customer_id |
|
created_at |
datetime | Created At | Created At for ej links | field.ej_links.created_at |
Detection & Alerts
Chirp detection rules, alerts, and alert lifecycle management
Detection Rules
Global Chirp rule definitions — 29 rules across 9 categories | Schema:
app| Immutable: No
| Field | Type | Label | Description | Searchable | i18n Key |
|---|---|---|---|---|---|
id |
uuid | Rule UUID | Internal UUID | field.rule.id |
|
rule_id |
text | Rule Code | Chirp rule identifier (C-001 through C-901) | ✓ | field.rule.code |
rule_name |
text | Rule Name | Machine-readable rule name | ✓ | field.rule.name |
description |
text | Description | What this rule detects | field.rule.description |
|
category |
enum | Category | Rule category grouping | ✓ | field.rule.category |
severity |
enum | Default Severity | Default severity level for this rule | ✓ | field.rule.severity |
is_active |
boolean | Active | Whether the rule is globally active | field.rule.is_active |
Enum: category
| Value | Label | i18n Key |
|---|---|---|
payment |
Payment | enum.rule_category.payment |
cash_drawer |
Cash Drawer | enum.rule_category.cash_drawer |
order |
Order | enum.rule_category.order |
timecard |
Timecard | enum.rule_category.timecard |
void |
Void | enum.rule_category.void |
gift_card |
Gift Card | enum.rule_category.gift_card |
loyalty |
Loyalty | enum.rule_category.loyalty |
composite |
Composite | enum.rule_category.composite |
signal |
Signal | enum.rule_category.signal |
Enum: severity
| Value | Label | i18n Key |
|---|---|---|
critical |
Critical | enum.severity.critical |
high |
High | enum.severity.high |
medium |
Medium | enum.severity.medium |
low |
Low | enum.severity.low |
Alerts
Detected fraud alerts — append-only, one per Chirp rule fire | Schema:
app| Immutable: Yes
| Field | Type | Label | Description | Searchable | i18n Key |
|---|---|---|---|---|---|
id |
uuid | Alert ID | Canary canonical UUID | ✓ | field.alert.id |
rule_id |
text | Detection Rule | Which Chirp rule fired | ✓ | field.alert.rule_id |
alert_type |
text | Alert Type | Alert category classification | ✓ | field.alert.type |
severity |
enum | Severity | How serious this alert is | ✓ | field.alert.severity |
source_table |
text | Source Table | Which table the source record lives in | field.alert.source_table |
|
source_id |
uuid | Source Record | UUID of the triggering record | field.alert.source_id |
|
employee_id |
uuid | Employee | Employee involved in the alert | ✓ | field.alert.employee_id |
location_id |
uuid | Location | Location where the alert was triggered | ✓ | field.alert.location_id |
amount_cents |
integer | Amount | Transaction amount that triggered the alert | field.alert.amount |
|
impact_cents |
integer | Impact | Estimated financial impact in cents | field.alert.impact |
|
created_at |
datetime | Created At | When the alert was generated | ✓ | field.alert.created_at |
Enum: severity
| Value | Label | i18n Key |
|---|---|---|
critical |
Critical | enum.severity.critical |
high |
High | enum.severity.high |
medium |
Medium | enum.severity.medium |
low |
Low | enum.severity.low |
info |
Info | enum.severity.info |
Alert History
Alert status transitions — audit trail for lifecycle management | Schema:
app| Immutable: Yes
| Field | Type | Label | Description | Searchable | i18n Key |
|---|---|---|---|---|---|
id |
uuid | History Entry ID | Canary canonical UUID | field.alert_history.id |
|
alert_id |
uuid | Alert | Which alert this status change belongs to | field.alert_history.alert_id |
|
status |
enum | Status | Alert lifecycle status | ✓ | field.alert_history.status |
changed_by |
uuid | Changed By | User who changed the status | field.alert_history.changed_by |
|
notes |
text | Notes | Optional notes about the status change | field.alert_history.notes |
Enum: status
| Value | Label | i18n Key |
|---|---|---|
new |
New | enum.alert_status.new |
investigating |
Investigating | enum.alert_status.investigating |
resolved |
Resolved | enum.alert_status.resolved |
false_positive |
False Positive | enum.alert_status.false_positive |
dismissed |
Dismissed | enum.alert_status.dismissed |
Merchant Rule Config
Per-merchant detection rule enable/disable and threshold overrides | Schema:
app| Immutable: No
| Field | Type | Label | Description | Searchable | i18n Key |
|---|---|---|---|---|---|
id |
uuid | Config ID | Canary canonical UUID | field.rule_config.id |
|
rule_id |
text | Rule Code | Which Chirp rule this config applies to | field.rule_config.rule_id |
|
is_enabled |
boolean | Enabled | Whether the merchant has this rule active | field.rule_config.is_enabled |
|
custom_threshold |
jsonb | Custom Threshold | Merchant-specific threshold overrides (JSON) | field.rule_config.threshold |
|
notify_enabled |
boolean | Notifications | Whether to send notifications for this rule | field.rule_config.notify |
Card Profiles
Card entity profiles indexed by fingerprint — PCI-safe, no PAN, tracks velocity and risk | Schema:
app| Immutable: No
| Field | Type | Label | Description | Searchable | i18n Key |
|---|---|---|---|---|---|
id |
uuid | ID | Canary UUID | field.card_profiles.id |
|
merchant_id |
uuid | Merchant | Tenant merchant identifier | field.card_profiles.merchant_id |
|
card_fingerprint |
text | Card Fingerprint | Square card fingerprint (PCI-safe hash) | ✓ | field.card_profiles.card_fingerprint |
card_brand |
enum | Card Brand | Payment card brand | ✓ | field.card_profiles.card_brand |
card_last4 |
text | Last 4 Digits | Last 4 digits of card (PCI-safe) | ✓ | field.card_profiles.card_last4 |
card_prepaid_type |
text | Prepaid Type | Whether card is prepaid (PREPAID/NOT_PREPAID/UNKNOWN) | field.card_profiles.card_prepaid_type |
|
first_seen_at |
datetime | First Seen | Timestamp of first transaction with this card | field.card_profiles.first_seen_at |
|
last_seen_at |
datetime | Last Seen | Timestamp of most recent transaction | field.card_profiles.last_seen_at |
|
transaction_count |
integer | Transaction Count | Number of completed transactions | ✓ | field.card_profiles.transaction_count |
location_count |
integer | Location Count | Number of unique locations where card was used | field.card_profiles.location_count |
|
risk_score |
text | Risk Score | Chirp aggregate risk score 0.0-1.0 | ✓ | field.card_profiles.risk_score |
Enum: card_brand
| Value | Label | i18n Key |
|---|---|---|
VISA |
Visa | enum.card_brand.visa |
MASTERCARD |
Mastercard | enum.card_brand.mastercard |
AMERICAN_EXPRESS |
American Express | enum.card_brand.american_express |
DISCOVER |
Discover | enum.card_brand.discover |
INTERAC |
Interac | enum.card_brand.interac |
OTHER_BRAND |
Other | enum.card_brand.other_brand |
Notification Log
Delivery log for all alert notifications (email, SMS, in-app, push) | Schema:
app| Immutable: Yes
| Field | Type | Label | Description | Searchable | i18n Key |
|---|---|---|---|---|---|
id |
uuid | ID | ID for notification log | ✓ | field.notification_log.id |
merchant_id |
text | Merchant ID | Merchant ID for notification log | field.notification_log.merchant_id |
|
alert_id |
text | Alert ID | Alert ID for notification log | field.notification_log.alert_id |
|
channel |
text | Channel | Channel for notification log | field.notification_log.channel |
|
status |
text | Status | Status for notification log | ✓ | field.notification_log.status |
frequency_mode |
text | Frequency Mode | Frequency Mode for notification log | field.notification_log.frequency_mode |
|
severity |
text | Severity | Severity for notification log | field.notification_log.severity |
|
recipient |
text | Recipient | Recipient for notification log | field.notification_log.recipient |
|
message_preview |
text | Message Preview | Message Preview for notification log | field.notification_log.message_preview |
|
failure_reason |
text | Failure Reason | Failure Reason for notification log | field.notification_log.failure_reason |
|
digest_batch_id |
text | Digest Batch ID | Digest Batch ID for notification log | field.notification_log.digest_batch_id |
|
created_at |
datetime | Created At | Created At for notification log | field.notification_log.created_at |
Cases & Investigations
Fox investigation case management — evidence chain, subjects, timeline, actions
Cases
Investigation cases opened from alert patterns or manual triggers | Schema:
app| Immutable: No
| Field | Type | Label | Description | Searchable | i18n Key |
|---|---|---|---|---|---|
id |
uuid | Case ID | Canary canonical UUID | ✓ | field.case.id |
case_number |
text | Case Number | Human-readable case identifier | ✓ | field.case.number |
title |
text | Title | Case title/summary | ✓ | field.case.title |
case_type |
text | Case Type | Investigation type classification | ✓ | field.case.type |
priority |
enum | Priority | Case urgency level | ✓ | field.case.priority |
status |
enum | Status | Case lifecycle status | ✓ | field.case.status |
total_loss_cents |
integer | Total Loss | Estimated total loss in cents | ✓ | field.case.total_loss |
assigned_to |
text | Assigned To | Who is working this case | field.case.assigned_to |
|
opened_at |
datetime | Opened At | When the case was opened | ✓ | field.case.opened_at |
closed_at |
datetime | Closed At | When the case was closed | field.case.closed_at |
Enum: priority
| Value | Label | i18n Key |
|---|---|---|
critical |
Critical | enum.priority.critical |
high |
High | enum.priority.high |
medium |
Medium | enum.priority.medium |
low |
Low | enum.priority.low |
Enum: status
| Value | Label | i18n Key |
|---|---|---|
open |
Open | enum.case_status.open |
investigating |
Investigating | enum.case_status.investigating |
pending_review |
Pending Review | enum.case_status.pending_review |
escalated |
Escalated | enum.case_status.escalated |
closed |
Closed | enum.case_status.closed |
Case Subjects
People and entities involved in a case | Schema:
app| Immutable: No
| Field | Type | Label | Description | Searchable | i18n Key |
|---|---|---|---|---|---|
id |
uuid | Subject ID | Canary canonical UUID | field.subject.id |
|
case_id |
uuid | Case | Parent case | field.subject.case_id |
|
subject_type |
enum | Subject Type | What kind of entity this subject is | field.subject.type |
|
name |
text | Name | Subject name | field.subject.name |
|
is_primary_suspect |
boolean | Primary Suspect | Whether this subject is the primary suspect | field.subject.primary_suspect |
Enum: subject_type
| Value | Label | i18n Key |
|---|---|---|
employee |
Employee | enum.subject_type.employee |
customer |
Customer | enum.subject_type.customer |
vendor |
Vendor | enum.subject_type.vendor |
Case Evidence
Evidence files attached to cases — write-once with hash chain | Schema:
app| Immutable: Yes
| Field | Type | Label | Description | Searchable | i18n Key |
|---|---|---|---|---|---|
id |
uuid | Evidence ID | Canary canonical UUID | field.evidence.id |
|
case_id |
uuid | Case | Parent case | field.evidence.case_id |
|
evidence_type |
text | Evidence Type | Classification of the evidence | field.evidence.type |
|
file_name |
text | File Name | Name of the evidence file | field.evidence.file_name |
|
file_hash |
text | File Hash | SHA-256 hash for tamper detection | field.evidence.file_hash |
|
uploaded_at |
datetime | Uploaded At | When the evidence was uploaded | field.evidence.uploaded_at |
Case Timeline
Chronological log of case events — append-only | Schema:
app| Immutable: Yes
| Field | Type | Label | Description | Searchable | i18n Key |
|---|---|---|---|---|---|
id |
uuid | Event ID | Canary canonical UUID | field.timeline.id |
|
case_id |
uuid | Case | Parent case | field.timeline.case_id |
|
event_type |
text | Event Type | What happened in the case | field.timeline.event_type |
|
description |
text | Description | Event description | field.timeline.description |
|
occurred_at |
datetime | Occurred At | When the event happened | field.timeline.occurred_at |
Case Actions
Actions taken on a case — interviews, reviews, escalations | Schema:
app| Immutable: No
| Field | Type | Label | Description | Searchable | i18n Key |
|---|---|---|---|---|---|
id |
uuid | Action ID | Canary canonical UUID | field.action.id |
|
case_id |
uuid | Case | Parent case | field.action.case_id |
|
action_type |
text | Action Type | What type of action was taken | field.action.type |
|
description |
text | Description | Action description | field.action.description |
|
performed_at |
datetime | Performed At | When the action was taken | field.action.performed_at |
Case Alert Links
Junction table linking Fox cases to their triggering alerts | Schema:
app| Immutable: No
| Field | Type | Label | Description | Searchable | i18n Key |
|---|---|---|---|---|---|
id |
uuid | ID | ID for fox case alerts | ✓ | field.fox_case_alerts.id |
case_id |
text | Case ID | Case ID for fox case alerts | field.fox_case_alerts.case_id |
|
alert_id |
text | Alert ID | Alert ID for fox case alerts | field.fox_case_alerts.alert_id |
|
linked_at |
datetime | Linked At | Linked At for fox case alerts | field.fox_case_alerts.linked_at |
|
linked_by |
text | Linked By | Linked By for fox case alerts | field.fox_case_alerts.linked_by |
|
notes |
text | Notes | Notes for fox case alerts | field.fox_case_alerts.notes |
|
created_at |
datetime | Created At | Created At for fox case alerts | field.fox_case_alerts.created_at |
|
updated_at |
datetime | Updated At | Updated At for fox case alerts | field.fox_case_alerts.updated_at |
|
created_by |
text | Created By | Created By for fox case alerts | field.fox_case_alerts.created_by |
|
modified_by |
text | Modified By | Modified By for fox case alerts | field.fox_case_alerts.modified_by |
Evidence Access Log
Audit trail of who accessed case evidence and when | Schema:
app| Immutable: Yes
| Field | Type | Label | Description | Searchable | i18n Key |
|---|---|---|---|---|---|
id |
uuid | ID | ID for fox evidence access log | ✓ | field.fox_evidence_access_log.id |
evidence_id |
text | Evidence ID | Evidence ID for fox evidence access log | field.fox_evidence_access_log.evidence_id |
|
accessed_by |
text | Accessed By | Accessed By for fox evidence access log | field.fox_evidence_access_log.accessed_by |
|
access_type |
text | Access Type | Access Type for fox evidence access log | ✓ | field.fox_evidence_access_log.access_type |
accessed_at |
datetime | Accessed At | Accessed At for fox evidence access log | field.fox_evidence_access_log.accessed_at |
|
ip_address |
text | IP Address | IP Address for fox evidence access log | field.fox_evidence_access_log.ip_address |
Organization & People
Merchants, employees, locations, customers, and products
Merchants
POS connections — each merchant is a Square account | Schema:
app| Immutable: No
| Field | Type | Label | Description | Searchable | i18n Key |
|---|---|---|---|---|---|
id |
uuid | Merchant ID | Canary canonical UUID (internal) | field.merchant.id |
|
merchant_id |
text | Square Merchant ID | Square account identifier | field.merchant.square_id |
|
merchant_name |
text | Business Name | Merchant display name | field.merchant.name |
|
subscription_tier |
enum | Subscription Tier | Current subscription level | field.merchant.tier |
|
currency |
text | Currency | Default currency code | field.merchant.currency |
|
is_active |
boolean | Active | Whether the merchant account is active | field.merchant.is_active |
Enum:
subscription_tier
| Value | Label | i18n Key |
|---|---|---|
starter |
Starter | enum.tier.starter |
professional |
Professional | enum.tier.professional |
enterprise |
Enterprise | enum.tier.enterprise |
Employees
Employee records synced from Square — risk scores from Chirp | Schema:
app| Immutable: No
| Field | Type | Label | Description | Searchable | i18n Key |
|---|---|---|---|---|---|
id |
uuid | Employee ID | Canary canonical UUID | field.employee.id |
|
square_employee_id |
text | Square Employee ID | Square team member identifier | field.employee.square_id |
|
employee_name |
text | Employee Name | Full name of the employee | ✓ | field.employee.name |
email |
text | Employee email address | field.employee.email |
||
role |
text | Role | Employee role/title | field.employee.role |
|
primary_location_id |
uuid | Primary Location | Employee’s main work location | field.employee.primary_location |
|
risk_score |
integer | Risk Score | Aggregate risk score from Chirp detection (0-100) | ✓ | field.employee.risk_score |
is_active |
boolean | Active | Whether the employee is currently active | ✓ | field.employee.is_active |
db_status |
enum | Status | Soft-delete lifecycle status | ✓ | field.employee.status |
Enum: db_status
| Value | Label | i18n Key |
|---|---|---|
draft |
Draft | enum.db_status.draft |
active |
Active | enum.db_status.active |
archived |
Archived | enum.db_status.archived |
Locations
Store, kiosk, and warehouse locations synced from Square | Schema:
app| Immutable: No
| Field | Type | Label | Description | Searchable | i18n Key |
|---|---|---|---|---|---|
id |
uuid | Location ID | Canary canonical UUID | field.location.id |
|
square_location_id |
text | Square Location ID | Square location identifier | field.location.square_id |
|
location_name |
text | Location Name | Store/location display name | ✓ | field.location.name |
timezone |
text | Timezone | Location timezone | ✓ | field.location.timezone |
city |
text | City | City name | field.location.city |
|
state |
text | State | State/province code | field.location.state |
Customers
Privacy-first customer profiles — only Square ID and aggregates | Schema:
app| Immutable: No
| Field | Type | Label | Description | Searchable | i18n Key |
|---|---|---|---|---|---|
id |
uuid | Customer ID | Canary canonical UUID | field.customer.id |
|
square_customer_id |
text | Square Customer ID | Square customer identifier | field.customer.square_id |
|
lifetime_value_cents |
integer | Lifetime Value | Total spend across all transactions in cents | field.customer.ltv |
|
transaction_count |
integer | Transaction Count | Total number of transactions | field.customer.txn_count |
Products
Square catalog items — SKU, UPC, pricing, cost of goods | Schema:
app| Immutable: No
| Field | Type | Label | Description | Searchable | i18n Key |
|---|---|---|---|---|---|
id |
uuid | Product ID | Canary canonical UUID | field.product.id |
|
square_item_id |
text | Square Catalog ID | Square catalog item ID — joins to line_items | ✓ | field.product.square_id |
product_name |
text | Product Name | Item display name | ✓ | field.product.name |
sku |
text | SKU | Stock keeping unit | field.product.sku |
|
upc |
text | UPC | Universal product code | field.product.upc |
|
unit_price_cents |
integer | Catalog Price | Standard catalog price in cents — for price override detection | ✓ | field.product.price |
cogs_cents |
integer | Cost of Goods | COGS in cents for margin/shrinkage analysis | ✓ | field.product.cogs |
category |
text | Category | Product category for grouping | ✓ | field.product.category |
Gift Cards
Square gift card entities — state, balance, customer associations | Schema:
app| Immutable: No
| Field | Type | Label | Description | Searchable | i18n Key |
|---|---|---|---|---|---|
id |
uuid | ID | Canary UUID | field.gift_cards.id |
|
merchant_id |
uuid | Merchant | Tenant merchant identifier | field.gift_cards.merchant_id |
|
square_gift_card_id |
text | Square Gift Card ID | Square gift card ID (gftc_…) | ✓ | field.gift_cards.square_gift_card_id |
card_type |
enum | Card Type | DIGITAL or PHYSICAL | ✓ | field.gift_cards.card_type |
gan_source |
text | GAN Source | Who issued the GAN (SQUARE or OTHER) | field.gift_cards.gan_source |
|
state |
enum | State | Gift card lifecycle state | ✓ | field.gift_cards.state |
balance_cents |
integer | Balance | Current gift card balance in cents | ✓ | field.gift_cards.balance_cents |
currency |
text | Currency | ISO 4217 currency code | field.gift_cards.currency |
|
gan |
text | GAN | Gift Account Number | ✓ | field.gift_cards.gan |
customer_ids |
jsonb | Customer IDs | JSON array of linked Square customer IDs | field.gift_cards.customer_ids |
|
square_created_at |
datetime | Square Created At | Timestamp from Square gift card created_at | field.gift_cards.square_created_at |
Enum: card_type
| Value | Label | i18n Key |
|---|---|---|
DIGITAL |
Digital | enum.card_type.digital |
PHYSICAL |
Physical | enum.card_type.physical |
Enum: state
| Value | Label | i18n Key |
|---|---|---|
ACTIVE |
Active | enum.gc_state.active |
DEACTIVATED |
Deactivated | enum.gc_state.deactivated |
BLOCKED |
Blocked | enum.gc_state.blocked |
PENDING |
Pending | enum.gc_state.pending |
Subscriptions
Square recurring billing subscriptions — status, plan, payment card, billing cadence | Schema:
app| Immutable: No
| Field | Type | Label | Description | Searchable | i18n Key |
|---|---|---|---|---|---|
id |
uuid | ID | Canary UUID | field.subscriptions.id |
|
merchant_id |
uuid | Merchant | Tenant merchant identifier | field.subscriptions.merchant_id |
|
square_subscription_id |
text | Square Subscription ID | Square subscription identifier | ✓ | field.subscriptions.square_subscription_id |
location_id |
text | Location ID | Square location for this subscription | field.subscriptions.location_id |
|
plan_variation_id |
text | Plan Variation ID | Square catalog plan variation ID | field.subscriptions.plan_variation_id |
|
customer_id |
text | Customer ID | Square customer ID on the subscription | ✓ | field.subscriptions.customer_id |
start_date |
text | Start Date | Subscription start date (YYYY-MM-DD) | field.subscriptions.start_date |
|
canceled_date |
text | Canceled Date | Date subscription was canceled (YYYY-MM-DD) | field.subscriptions.canceled_date |
|
charged_through_date |
text | Charged Through Date | Date through which subscription is paid | field.subscriptions.charged_through_date |
|
status |
enum | Status | Current subscription lifecycle status | ✓ | field.subscriptions.status |
price_override_cents |
integer | Price Override | Override price in cents (null = plan default price) | field.subscriptions.price_override_cents |
|
card_id |
text | Card ID | Square card ID used for billing | field.subscriptions.card_id |
|
timezone |
text | Timezone | Billing timezone (e.g. America/Chicago) | field.subscriptions.timezone |
|
version |
integer | Version | Square subscription version (monotonically increasing) | field.subscriptions.version |
|
phases |
text | Phases | JSON array of subscription billing phases | field.subscriptions.phases |
|
square_created_at |
datetime | Created At (Square) | Timestamp from Square subscription created_at field | field.subscriptions.square_created_at |
Enum: status
| Value | Label | i18n Key |
|---|---|---|
ACTIVE |
Active | enum.subscription_status.active |
CANCELED |
Canceled | enum.subscription_status.canceled |
DELINQUENT |
Delinquent | enum.subscription_status.delinquent |
PAUSED |
Paused | enum.subscription_status.paused |
PENDING |
Pending | enum.subscription_status.pending |
SUSPENDED |
Suspended | enum.subscription_status.suspended |
Transfer Orders
Square inter-location inventory transfer orders | Schema:
app| Immutable: No
| Field | Type | Label | Description | Searchable | i18n Key |
|---|---|---|---|---|---|
id |
uuid | ID | Canary UUID | field.transfer_orders.id |
|
merchant_id |
uuid | Merchant | Tenant merchant identifier | field.transfer_orders.merchant_id |
|
square_transfer_order_id |
text | Transfer Order ID | Square transfer order identifier | ✓ | field.transfer_orders.square_transfer_order_id |
location_id |
text | Location ID | Primary location for this transfer | field.transfer_orders.location_id |
|
from_location_id |
text | From Location | Source location ID | field.transfer_orders.from_location_id |
|
to_location_id |
text | To Location | Destination location ID | field.transfer_orders.to_location_id |
|
state |
enum | State | Transfer order lifecycle state | ✓ | field.transfer_orders.state |
reason |
text | Reason | Merchant-entered reason for the transfer | field.transfer_orders.reason |
|
expected_received_at |
datetime | Expected Receipt | Expected receipt datetime | field.transfer_orders.expected_received_at |
|
received_at |
datetime | Received At | Actual receipt datetime | field.transfer_orders.received_at |
|
square_created_at |
datetime | Created At (Square) | Square transfer_order created_at timestamp | field.transfer_orders.square_created_at |
|
square_updated_at |
datetime | Updated At (Square) | Square transfer_order updated_at timestamp | field.transfer_orders.square_updated_at |
Enum: state
| Value | Label | i18n Key |
|---|---|---|
OPEN |
Open | enum.transfer_state.open |
RECEIVED |
Received | enum.transfer_state.received |
CANCELED |
Canceled | enum.transfer_state.canceled |
DRAFT |
Draft | enum.transfer_state.draft |
Bank Accounts
Square payout bank accounts linked to merchant — verification status and account metadata | Schema:
app| Immutable: No
| Field | Type | Label | Description | Searchable | i18n Key |
|---|---|---|---|---|---|
id |
uuid | ID | Canary UUID | field.bank_accounts.id |
|
merchant_id |
uuid | Merchant | Tenant merchant identifier | field.bank_accounts.merchant_id |
|
square_bank_account_id |
text | Bank Account ID | Square bank account identifier | ✓ | field.bank_accounts.square_bank_account_id |
account_number_suffix |
text | Account Last 4 | Last 4 digits of the account number | field.bank_accounts.account_number_suffix |
|
country |
text | Country | ISO 3166-1 alpha-2 country code | field.bank_accounts.country |
|
currency |
text | Currency | ISO 4217 currency code | field.bank_accounts.currency |
|
account_type |
enum | Account Type | Bank account type | field.bank_accounts.account_type |
|
holder_name |
text | Holder Name | Legal name of the account holder | field.bank_accounts.holder_name |
|
routing_number |
text | Routing Number | Primary bank identification (routing) number | field.bank_accounts.routing_number |
|
secondary_routing_number |
text | Secondary Routing Number | Secondary bank identification number | field.bank_accounts.secondary_routing_number |
|
status |
enum | Status | Bank account verification and activation status | ✓ | field.bank_accounts.status |
creditable |
boolean | Creditable | Whether Square can send money to this account | field.bank_accounts.creditable |
|
debitable |
boolean | Debitable | Whether Square can take money from this account | field.bank_accounts.debitable |
|
bank_name |
text | Bank Name | Name of the financial institution | field.bank_accounts.bank_name |
|
version |
integer | Version | Square bank account version | field.bank_accounts.version |
Enum: account_type
| Value | Label | i18n Key |
|---|---|---|
CHECKING |
Checking | enum.bank_account_type.checking |
SAVINGS |
Savings | enum.bank_account_type.savings |
BUSINESS_CHECKING |
Business Checking | enum.bank_account_type.business_checking |
Enum: status
| Value | Label | i18n Key |
|---|---|---|
VERIFICATION_IN_PROGRESS |
Verification In Progress | enum.bank_account_status.verification_in_progress |
VERIFIED |
Verified | enum.bank_account_status.verified |
DISABLED |
Disabled | enum.bank_account_status.disabled |
Users
Canary platform users authenticated via Square OAuth | Schema:
app| Immutable: No
| Field | Type | Label | Description | Searchable | i18n Key |
|---|---|---|---|---|---|
id |
uuid | ID | ID for users | ✓ | field.users.id |
username |
text | Username | Username for users | field.users.username |
|
email |
text | Email for users | ✓ | field.users.email |
|
display_name |
text | Display Name | Display Name for users | ✓ | field.users.display_name |
is_active |
boolean | Is Active | Is Active for users | field.users.is_active |
|
last_login_at |
datetime | Last Login At | Last Login At for users | field.users.last_login_at |
|
merchant_id |
text | Merchant ID | Merchant ID for users | field.users.merchant_id |
|
created_at |
datetime | Created At | Created At for users | field.users.created_at |
|
updated_at |
datetime | Updated At | Updated At for users | field.users.updated_at |
|
created_by |
text | Created By | Created By for users | field.users.created_by |
|
modified_by |
text | Modified By | Modified By for users | field.users.modified_by |
|
db_status |
text | DB Status | DB Status for users | ✓ | field.users.db_status |
db_effective_from |
datetime | DB Effective From | DB Effective From for users | field.users.db_effective_from |
|
db_effective_to |
datetime | DB Effective To | DB Effective To for users | field.users.db_effective_to |
Roles
Role definitions for RBAC (admin, manager, viewer) | Schema:
app| Immutable: No
| Field | Type | Label | Description | Searchable | i18n Key |
|---|---|---|---|---|---|
id |
uuid | ID | ID for roles | ✓ | field.roles.id |
role_name |
text | Role Name | Role Name for roles | ✓ | field.roles.role_name |
description |
text | Description | Description for roles | field.roles.description |
|
created_at |
datetime | Created At | Created At for roles | field.roles.created_at |
|
updated_at |
datetime | Updated At | Updated At for roles | field.roles.updated_at |
|
created_by |
text | Created By | Created By for roles | field.roles.created_by |
|
modified_by |
text | Modified By | Modified By for roles | field.roles.modified_by |
User Roles
User-to-role assignments per merchant | Schema:
app| Immutable: No
| Field | Type | Label | Description | Searchable | i18n Key |
|---|---|---|---|---|---|
id |
uuid | ID | ID for user roles | ✓ | field.user_roles.id |
user_id |
text | User ID | User ID for user roles | field.user_roles.user_id |
|
role_id |
text | Role ID | Role ID for user roles | field.user_roles.role_id |
|
merchant_id |
text | Merchant ID | Merchant ID for user roles | field.user_roles.merchant_id |
|
created_at |
datetime | Created At | Created At for user roles | field.user_roles.created_at |
|
updated_at |
datetime | Updated At | Updated At for user roles | field.user_roles.updated_at |
|
created_by |
text | Created By | Created By for user roles | field.user_roles.created_by |
|
modified_by |
text | Modified By | Modified By for user roles | field.user_roles.modified_by |
Organizations
Top-level billing entities grouping merchants | Schema:
app| Immutable: No
| Field | Type | Label | Description | Searchable | i18n Key |
|---|---|---|---|---|---|
id |
uuid | ID | ID for organizations | ✓ | field.organizations.id |
org_name |
text | Org Name | Org Name for organizations | ✓ | field.organizations.org_name |
billing_email |
text | Billing Email | Billing Email for organizations | field.organizations.billing_email |
|
subscription_tier |
text | Subscription Tier | Subscription Tier for organizations | field.organizations.subscription_tier |
|
billing_provider |
text | Billing Provider | Billing Provider for organizations | field.organizations.billing_provider |
|
billing_external_id |
text | Billing External ID | Billing External ID for organizations | field.organizations.billing_external_id |
|
billing_status |
text | Billing Status | Billing Status for organizations | ✓ | field.organizations.billing_status |
is_active |
boolean | Is Active | Is Active for organizations | field.organizations.is_active |
|
created_at |
datetime | Created At | Created At for organizations | field.organizations.created_at |
|
updated_at |
datetime | Updated At | Updated At for organizations | field.organizations.updated_at |
|
created_by |
text | Created By | Created By for organizations | field.organizations.created_by |
|
modified_by |
text | Modified By | Modified By for organizations | field.organizations.modified_by |
|
db_status |
text | DB Status | DB Status for organizations | ✓ | field.organizations.db_status |
db_effective_from |
datetime | DB Effective From | DB Effective From for organizations | field.organizations.db_effective_from |
|
db_effective_to |
datetime | DB Effective To | DB Effective To for organizations | field.organizations.db_effective_to |
OAuth Tokens
Encrypted Square OAuth access and refresh tokens | Schema:
app| Immutable: No
| Field | Type | Label | Description | Searchable | i18n Key |
|---|---|---|---|---|---|
id |
uuid | ID | ID for square oauth tokens | ✓ | field.square_oauth_tokens.id |
access_token_encrypted |
text | Access Token Encrypted | Access Token Encrypted for square oauth tokens | field.square_oauth_tokens.access_token_encrypted |
|
refresh_token_encrypted |
text | Refresh Token Encrypted | Refresh Token Encrypted for square oauth tokens | field.square_oauth_tokens.refresh_token_encrypted |
|
token_type |
text | Token Type | Token Type for square oauth tokens | ✓ | field.square_oauth_tokens.token_type |
expires_at |
datetime | Expires At | Expires At for square oauth tokens | field.square_oauth_tokens.expires_at |
|
scopes |
text | Scopes | Scopes for square oauth tokens | field.square_oauth_tokens.scopes |
|
merchant_id |
text | Merchant ID | Merchant ID for square oauth tokens | field.square_oauth_tokens.merchant_id |
|
created_at |
datetime | Created At | Created At for square oauth tokens | field.square_oauth_tokens.created_at |
|
updated_at |
datetime | Updated At | Updated At for square oauth tokens | field.square_oauth_tokens.updated_at |
|
created_by |
text | Created By | Created By for square oauth tokens | field.square_oauth_tokens.created_by |
|
modified_by |
text | Modified By | Modified By for square oauth tokens | field.square_oauth_tokens.modified_by |
Location Hierarchy
Tree structure for grouping locations (region, district, store) | Schema:
app| Immutable: No
| Field | Type | Label | Description | Searchable | i18n Key |
|---|---|---|---|---|---|
id |
uuid | ID | ID for location hierarchy | ✓ | field.location_hierarchy.id |
name |
text | Name | Name for location hierarchy | ✓ | field.location_hierarchy.name |
level |
text | Level | Level for location hierarchy | field.location_hierarchy.level |
|
parent_id |
text | Parent ID | Parent ID for location hierarchy | field.location_hierarchy.parent_id |
|
merchant_id |
text | Merchant ID | Merchant ID for location hierarchy | field.location_hierarchy.merchant_id |
|
created_at |
datetime | Created At | Created At for location hierarchy | field.location_hierarchy.created_at |
|
updated_at |
datetime | Updated At | Updated At for location hierarchy | field.location_hierarchy.updated_at |
|
created_by |
text | Created By | Created By for location hierarchy | field.location_hierarchy.created_by |
|
modified_by |
text | Modified By | Modified By for location hierarchy | field.location_hierarchy.modified_by |
|
db_status |
text | DB Status | DB Status for location hierarchy | ✓ | field.location_hierarchy.db_status |
db_effective_from |
datetime | DB Effective From | DB Effective From for location hierarchy | field.location_hierarchy.db_effective_from |
|
db_effective_to |
datetime | DB Effective To | DB Effective To for location hierarchy | field.location_hierarchy.db_effective_to |
Source Systems
Registered POS source systems (Square, future RAAS sources) | Schema:
app| Immutable: No
| Field | Type | Label | Description | Searchable | i18n Key |
|---|---|---|---|---|---|
code |
text | Code | Code for source systems | field.source_systems.code |
|
display_name |
text | Display Name | Display Name for source systems | ✓ | field.source_systems.display_name |
category |
text | Category | Category for source systems | ✓ | field.source_systems.category |
is_active |
boolean | Is Active | Is Active for source systems | field.source_systems.is_active |
|
description |
text | Description | Description for source systems | field.source_systems.description |
|
created_at |
datetime | Created At | Created At for source systems | field.source_systems.created_at |
|
updated_at |
datetime | Updated At | Updated At for source systems | field.source_systems.updated_at |
|
created_by |
text | Created By | Created By for source systems | field.source_systems.created_by |
|
modified_by |
text | Modified By | Modified By for source systems | field.source_systems.modified_by |
Merchant Sources
Links merchants to their POS source systems with RAAS namespace routing | Schema:
app| Immutable: No
| Field | Type | Label | Description | Searchable | i18n Key |
|---|---|---|---|---|---|
id |
uuid | ID | ID for merchant sources | ✓ | field.merchant_sources.id |
source_code |
text | Source Code | Source Code for merchant sources | field.merchant_sources.source_code |
|
external_merchant_id |
text | External Merchant ID | External Merchant ID for merchant sources | field.merchant_sources.external_merchant_id |
|
connected_at |
datetime | Connected At | Connected At for merchant sources | field.merchant_sources.connected_at |
|
disconnected_at |
datetime | Disconnected At | Disconnected At for merchant sources | field.merchant_sources.disconnected_at |
|
status |
text | Status | Status for merchant sources | ✓ | field.merchant_sources.status |
raas_namespace |
text | Raas Namespace | Raas Namespace for merchant sources | field.merchant_sources.raas_namespace |
|
metadata_json |
text | Metadata Json | Metadata Json for merchant sources | field.merchant_sources.metadata_json |
|
merchant_id |
text | Merchant ID | Merchant ID for merchant sources | field.merchant_sources.merchant_id |
|
created_at |
datetime | Created At | Created At for merchant sources | field.merchant_sources.created_at |
|
updated_at |
datetime | Updated At | Updated At for merchant sources | field.merchant_sources.updated_at |
|
created_by |
text | Created By | Created By for merchant sources | field.merchant_sources.created_by |
|
modified_by |
text | Modified By | Modified By for merchant sources | field.merchant_sources.modified_by |
Interest Signups
Pre-launch email signups from the join page | Schema:
app| Immutable: Yes
| Field | Type | Label | Description | Searchable | i18n Key |
|---|---|---|---|---|---|
id |
integer | ID | ID for interest signups | ✓ | field.interest_signups.id |
email |
text | Email for interest signups | ✓ | field.interest_signups.email |
|
source |
text | Source | Source for interest signups | field.interest_signups.source |
|
created_at |
datetime | Created At | Created At for interest signups | field.interest_signups.created_at |
Audit Log
Tamper-evident audit trail with hash chain — all user actions and system events | Schema:
app| Immutable: Yes
| Field | Type | Label | Description | Searchable | i18n Key |
|---|---|---|---|---|---|
id |
uuid | ID | ID for audit log | ✓ | field.audit_log.id |
user_id |
text | User ID | User ID for audit log | field.audit_log.user_id |
|
action |
text | Action | Action for audit log | ✓ | field.audit_log.action |
resource_type |
text | Resource Type | Resource Type for audit log | ✓ | field.audit_log.resource_type |
resource_id |
text | Resource ID | Resource ID for audit log | field.audit_log.resource_id |
|
details |
text | Details | Details for audit log | field.audit_log.details |
|
ip_address |
text | IP Address | IP Address for audit log | field.audit_log.ip_address |
|
previous_hash |
text | Previous Hash | Previous Hash for audit log | field.audit_log.previous_hash |
|
entry_hash |
text | Entry Hash | Entry Hash for audit log | field.audit_log.entry_hash |
|
created_at |
datetime | Created At | Created At for audit log | field.audit_log.created_at |
|
merchant_id |
text | Merchant ID | Merchant ID for audit log | field.audit_log.merchant_id |
Webhook Events
Raw webhook event log with processing status tracking | Schema:
app| Immutable: No
| Field | Type | Label | Description | Searchable | i18n Key |
|---|---|---|---|---|---|
id |
uuid | ID | ID for webhook events | ✓ | field.webhook_events.id |
event_id |
text | Event ID | Event ID for webhook events | field.webhook_events.event_id |
|
event_type |
text | Event Type | Event Type for webhook events | ✓ | field.webhook_events.event_type |
payload |
text | Payload | Payload for webhook events | field.webhook_events.payload |
|
processed_at |
datetime | Processed At | Processed At for webhook events | field.webhook_events.processed_at |
|
processing_status |
text | Processing Status | Processing Status for webhook events | ✓ | field.webhook_events.processing_status |
error_message |
text | Error Message | Error Message for webhook events | field.webhook_events.error_message |
|
merchant_id |
text | Merchant ID | Merchant ID for webhook events | field.webhook_events.merchant_id |
|
created_at |
datetime | Created At | Created At for webhook events | field.webhook_events.created_at |
|
updated_at |
datetime | Updated At | Updated At for webhook events | field.webhook_events.updated_at |
|
created_by |
text | Created By | Created By for webhook events | field.webhook_events.created_by |
|
modified_by |
text | Modified By | Modified By for webhook events | field.webhook_events.modified_by |
Namespace Registrations
Bitcoin-native namespace registrations for merchant identity on Avalanche | Schema:
app| Immutable: No
| Field | Type | Label | Description | Searchable | i18n Key |
|---|---|---|---|---|---|
id |
uuid | ID | ID for namespace registrations | ✓ | field.namespace_registrations.id |
namespace_guid |
text | Namespace Guid | Namespace Guid for namespace registrations | field.namespace_registrations.namespace_guid |
|
namespace_name |
text | Namespace Name | Namespace Name for namespace registrations | ✓ | field.namespace_registrations.namespace_name |
namespace_root |
text | Namespace Root | Namespace Root for namespace registrations | field.namespace_registrations.namespace_root |
|
inscription_id |
text | Inscription ID | Inscription ID for namespace registrations | field.namespace_registrations.inscription_id |
|
inscription_block |
integer | Inscription Block | Inscription Block for namespace registrations | field.namespace_registrations.inscription_block |
|
avalanche_address |
text | Avalanche Address | Avalanche Address for namespace registrations | field.namespace_registrations.avalanche_address |
|
tier |
text | Tier | Tier for namespace registrations | field.namespace_registrations.tier |
|
status |
text | Status | Status for namespace registrations | ✓ | field.namespace_registrations.status |
registered_at |
datetime | Registered At | Registered At for namespace registrations | field.namespace_registrations.registered_at |
|
expires_at |
datetime | Expires At | Expires At for namespace registrations | field.namespace_registrations.expires_at |
|
merchant_id |
text | Merchant ID | Merchant ID for namespace registrations | field.namespace_registrations.merchant_id |
|
created_at |
datetime | Created At | Created At for namespace registrations | field.namespace_registrations.created_at |
|
updated_at |
datetime | Updated At | Updated At for namespace registrations | field.namespace_registrations.updated_at |
|
created_by |
text | Created By | Created By for namespace registrations | field.namespace_registrations.created_by |
|
modified_by |
text | Modified By | Modified By for namespace registrations | field.namespace_registrations.modified_by |
Namespace Aliases
Alias mappings for namespace registrations | Schema:
app| Immutable: No
| Field | Type | Label | Description | Searchable | i18n Key |
|---|---|---|---|---|---|
id |
integer | ID | ID for namespace aliases | ✓ | field.namespace_aliases.id |
alias_name |
text | Alias Name | Alias Name for namespace aliases | ✓ | field.namespace_aliases.alias_name |
namespace_guid |
text | Namespace Guid | Namespace Guid for namespace aliases | field.namespace_aliases.namespace_guid |
|
status |
text | Status | Status for namespace aliases | ✓ | field.namespace_aliases.status |
created_at |
datetime | Created At | Created At for namespace aliases | field.namespace_aliases.created_at |
|
updated_at |
datetime | Updated At | Updated At for namespace aliases | field.namespace_aliases.updated_at |
Settings & Configuration
Merchant preferences, feature flags, and notification settings
Merchant Settings
Per-merchant preferences — language, timezone, calendar, notifications | Schema:
app| Immutable: No
| Field | Type | Label | Description | Searchable | i18n Key |
|---|---|---|---|---|---|
id |
uuid | Settings ID | Canary canonical UUID | field.settings.id |
|
language |
text | Language | Preferred language code (e.g., en-US) | field.settings.language |
|
timezone |
text | Timezone | Merchant timezone | field.settings.timezone |
|
calendar_type |
enum | Calendar Type | Fiscal calendar standard | field.settings.calendar_type |
|
theme |
enum | Theme | UI theme preference | field.settings.theme |
|
show_employee_names |
boolean | Show Employee Names | Whether to display employee names or use IDs only | field.settings.show_names |
|
lookback_days |
integer | Lookback Period | Number of days to look back for analysis | field.settings.lookback_days |
|
notif_severity_threshold |
enum | Notification Threshold | Minimum severity for notifications | field.settings.notif_threshold |
Enum: calendar_type
| Value | Label | i18n Key |
|---|---|---|
nrf_454 |
NRF 4-5-4 | enum.calendar.nrf_454 |
calendar_month |
Calendar Month | enum.calendar.calendar_month |
Enum: theme
| Value | Label | i18n Key |
|---|---|---|
canary-dark |
Canary Dark | enum.theme.canary_dark |
canary-light |
Canary Light | enum.theme.canary_light |
high-contrast |
High Contrast | enum.theme.high_contrast |
system |
System | enum.theme.system |
Enum:
notif_severity_threshold
| Value | Label | i18n Key |
|---|---|---|
CRITICAL |
Critical Only | enum.notif_threshold.critical |
HIGH |
High and Above | enum.notif_threshold.high |
MEDIUM |
Medium and Above | enum.notif_threshold.medium |
LOW |
All Alerts | enum.notif_threshold.low |
Feature Flags
Global feature flag catalog | Schema:
app| Immutable: No
| Field | Type | Label | Description | Searchable | i18n Key |
|---|---|---|---|---|---|
id |
uuid | Flag ID | Internal UUID | field.flag.id |
|
flag_key |
text | Flag Key | Machine-readable flag identifier | field.flag.key |
|
flag_name |
text | Flag Name | Human-readable flag name | field.flag.name |
|
description |
text | Description | What this feature flag controls | field.flag.description |
|
is_enabled |
boolean | Enabled | Whether the flag is globally on | field.flag.is_enabled |
Merchant Feature Flags
Per-merchant feature flag overrides | Schema:
app| Immutable: No
| Field | Type | Label | Description | Searchable | i18n Key |
|---|---|---|---|---|---|
id |
uuid | Override ID | Canary canonical UUID | field.merchant_flag.id |
|
flag_key |
text | Flag Key | Which feature flag this overrides | field.merchant_flag.key |
|
is_enabled |
boolean | Enabled | Whether this merchant has the flag on | field.merchant_flag.is_enabled |
Application Config
System-level configuration key-value pairs | Schema:
app| Immutable: No
| Field | Type | Label | Description | Searchable | i18n Key |
|---|---|---|---|---|---|
id |
uuid | ID | ID for app config | ✓ | field.app_config.id |
config_key |
text | Config Key | Config Key for app config | field.app_config.config_key |
|
config_value |
text | Config Value | Config Value for app config | field.app_config.config_value |
|
category |
text | Category | Category for app config | ✓ | field.app_config.category |
description |
text | Description | Description for app config | field.app_config.description |
|
is_secret |
boolean | Is Secret | Is Secret for app config | field.app_config.is_secret |
|
created_at |
datetime | Created At | Created At for app config | field.app_config.created_at |
|
updated_at |
datetime | Updated At | Updated At for app config | field.app_config.updated_at |
|
created_by |
text | Created By | Created By for app config | field.app_config.created_by |
|
modified_by |
text | Modified By | Modified By for app config | field.app_config.modified_by |
Notification Schedule
Per-merchant notification preferences by alert category and severity | Schema:
app| Immutable: No
| Field | Type | Label | Description | Searchable | i18n Key |
|---|---|---|---|---|---|
id |
uuid | ID | ID for notification schedule | ✓ | field.notification_schedule.id |
merchant_id |
text | Merchant ID | Merchant ID for notification schedule | field.notification_schedule.merchant_id |
|
alert_category |
text | Alert Category | Alert Category for notification schedule | ✓ | field.notification_schedule.alert_category |
channel_email |
boolean | Channel Email | Channel Email for notification schedule | field.notification_schedule.channel_email |
|
channel_sms |
boolean | Channel Sms | Channel Sms for notification schedule | field.notification_schedule.channel_sms |
|
channel_in_app |
boolean | Channel In App | Channel In App for notification schedule | field.notification_schedule.channel_in_app |
|
channel_push |
boolean | Channel Push | Channel Push for notification schedule | field.notification_schedule.channel_push |
|
freq_critical |
text | Freq Critical | Freq Critical for notification schedule | field.notification_schedule.freq_critical |
|
freq_high |
text | Freq High | Freq High for notification schedule | field.notification_schedule.freq_high |
|
freq_medium |
text | Freq Medium | Freq Medium for notification schedule | field.notification_schedule.freq_medium |
|
freq_low |
text | Freq Low | Freq Low for notification schedule | field.notification_schedule.freq_low |
|
freq_info |
text | Freq Info | Freq Info for notification schedule | field.notification_schedule.freq_info |
|
hourly_cap |
integer | Hourly Cap | Hourly Cap for notification schedule | field.notification_schedule.hourly_cap |
|
daily_cap |
integer | Daily Cap | Daily Cap for notification schedule | field.notification_schedule.daily_cap |
|
impact_threshold_cents |
integer | Impact Threshold Cents | Impact Threshold Cents for notification schedule | field.notification_schedule.impact_threshold_cents |
|
is_active |
boolean | Is Active | Is Active for notification schedule | field.notification_schedule.is_active |
|
created_at |
datetime | Created At | Created At for notification schedule | field.notification_schedule.created_at |
|
updated_at |
datetime | Updated At | Updated At for notification schedule | field.notification_schedule.updated_at |
Blocked Entities
Entities (employees, cards, devices) flagged for blocking by merchant | Schema:
app| Immutable: No
| Field | Type | Label | Description | Searchable | i18n Key |
|---|---|---|---|---|---|
id |
uuid | ID | ID for blocked entities | ✓ | field.blocked_entities.id |
entity_type |
text | Entity Type | Entity Type for blocked entities | ✓ | field.blocked_entities.entity_type |
entity_id |
text | Entity ID | Entity ID for blocked entities | field.blocked_entities.entity_id |
|
reason |
text | Reason | Reason for blocked entities | field.blocked_entities.reason |
|
blocked_by |
text | Blocked By | Blocked By for blocked entities | field.blocked_entities.blocked_by |
|
blocked_at |
datetime | Blocked At | Blocked At for blocked entities | field.blocked_entities.blocked_at |
|
unblocked_at |
datetime | Unblocked At | Unblocked At for blocked entities | field.blocked_entities.unblocked_at |
|
merchant_id |
text | Merchant ID | Merchant ID for blocked entities | field.blocked_entities.merchant_id |
|
created_at |
datetime | Created At | Created At for blocked entities | field.blocked_entities.created_at |
|
updated_at |
datetime | Updated At | Updated At for blocked entities | field.blocked_entities.updated_at |
|
created_by |
text | Created By | Created By for blocked entities | field.blocked_entities.created_by |
|
modified_by |
text | Modified By | Modified By for blocked entities | field.blocked_entities.modified_by |
|
db_status |
text | DB Status | DB Status for blocked entities | ✓ | field.blocked_entities.db_status |
db_effective_from |
datetime | DB Effective From | DB Effective From for blocked entities | field.blocked_entities.db_effective_from |
|
db_effective_to |
datetime | DB Effective To | DB Effective To for blocked entities | field.blocked_entities.db_effective_to |
Owl AI Analysis
Owl loss prevention AI — sessions, findings, merchant memory, and action tracking
Owl Sessions
AI-generated loss prevention analysis sessions with heartbeat scores | Schema:
app| Immutable: Yes
| Field | Type | Label | Description | Searchable | i18n Key |
|---|---|---|---|---|---|
id |
uuid | ID | ID for owl sessions | ✓ | field.owl_sessions.id |
session_type |
text | Session Type | Session Type for owl sessions | ✓ | field.owl_sessions.session_type |
heartbeat_score |
integer | Heartbeat Score | Heartbeat Score for owl sessions | field.owl_sessions.heartbeat_score |
|
heartbeat_band |
text | Heartbeat Band | Heartbeat Band for owl sessions | field.owl_sessions.heartbeat_band |
|
total_alerts |
integer | Total Alerts | Total Alerts for owl sessions | field.owl_sessions.total_alerts |
|
alert_breakdown |
text | Alert Breakdown | Alert Breakdown for owl sessions | field.owl_sessions.alert_breakdown |
|
category_scores |
text | Category Scores | Category Scores for owl sessions | field.owl_sessions.category_scores |
|
narrative_summary |
text | Narrative Summary | Narrative Summary for owl sessions | field.owl_sessions.narrative_summary |
|
top_finding |
text | Top Finding | Top Finding for owl sessions | field.owl_sessions.top_finding |
|
top_finding_category |
text | Top Finding Category | Top Finding Category for owl sessions | ✓ | field.owl_sessions.top_finding_category |
hc_session_id |
text | HC Session ID | HC Session ID for owl sessions | field.owl_sessions.hc_session_id |
|
previous_session_id |
text | Previous Session ID | Previous Session ID for owl sessions | field.owl_sessions.previous_session_id |
|
relevance_weight |
integer | Relevance Weight | Relevance Weight for owl sessions | field.owl_sessions.relevance_weight |
|
lp_assessment |
text | LP Assessment | LP Assessment for owl sessions | field.owl_sessions.lp_assessment |
|
ops_assessment |
text | Ops Assessment | Ops Assessment for owl sessions | field.owl_sessions.ops_assessment |
|
analytics_assessment |
text | Analytics Assessment | Analytics Assessment for owl sessions | field.owl_sessions.analytics_assessment |
|
positive_notes |
text | Positive Notes | Positive Notes for owl sessions | field.owl_sessions.positive_notes |
|
outlook |
text | Outlook | Outlook for owl sessions | field.owl_sessions.outlook |
|
merchant_id |
text | Merchant ID | Merchant ID for owl sessions | field.owl_sessions.merchant_id |
|
created_at |
datetime | Created At | Created At for owl sessions | field.owl_sessions.created_at |
|
updated_at |
datetime | Updated At | Updated At for owl sessions | field.owl_sessions.updated_at |
|
created_by |
text | Created By | Created By for owl sessions | field.owl_sessions.created_by |
|
modified_by |
text | Modified By | Modified By for owl sessions | field.owl_sessions.modified_by |
Owl Findings
Individual findings from Owl analysis sessions with severity and recommendations | Schema:
app| Immutable: Yes
| Field | Type | Label | Description | Searchable | i18n Key |
|---|---|---|---|---|---|
id |
uuid | ID | ID for owl findings | ✓ | field.owl_findings.id |
session_id |
text | Session ID | Session ID for owl findings | field.owl_findings.session_id |
|
merchant_id |
text | Merchant ID | Merchant ID for owl findings | field.owl_findings.merchant_id |
|
category |
text | Category | Category for owl findings | ✓ | field.owl_findings.category |
rule_ids |
text | Rule IDs | Rule IDs for owl findings | field.owl_findings.rule_ids |
|
severity |
text | Severity | Severity for owl findings | field.owl_findings.severity |
|
alert_count |
integer | Alert Count | Alert Count for owl findings | field.owl_findings.alert_count |
|
finding_text |
text | Finding Text | Finding Text for owl findings | field.owl_findings.finding_text |
|
recommended_action |
text | Recommended Action | Recommended Action for owl findings | field.owl_findings.recommended_action |
|
delta_direction |
text | Delta Direction | Delta Direction for owl findings | field.owl_findings.delta_direction |
|
delta_detail |
text | Delta Detail | Delta Detail for owl findings | field.owl_findings.delta_detail |
|
created_at |
datetime | Created At | Created At for owl findings | field.owl_findings.created_at |
|
updated_at |
datetime | Updated At | Updated At for owl findings | field.owl_findings.updated_at |
|
created_by |
text | Created By | Created By for owl findings | field.owl_findings.created_by |
|
modified_by |
text | Modified By | Modified By for owl findings | field.owl_findings.modified_by |
Owl Merchant Memory
Running merchant context for Owl — trends, recurring issues, action history | Schema:
app| Immutable: No
| Field | Type | Label | Description | Searchable | i18n Key |
|---|---|---|---|---|---|
id |
uuid | ID | ID for owl merchant memory | ✓ | field.owl_merchant_memory.id |
merchant_id |
text | Merchant ID | Merchant ID for owl merchant memory | field.owl_merchant_memory.merchant_id |
|
latest_session_id |
text | Latest Session ID | Latest Session ID for owl merchant memory | field.owl_merchant_memory.latest_session_id |
|
latest_heartbeat_score |
integer | Latest Heartbeat Score | Latest Heartbeat Score for owl merchant memory | field.owl_merchant_memory.latest_heartbeat_score |
|
latest_heartbeat_band |
text | Latest Heartbeat Band | Latest Heartbeat Band for owl merchant memory | field.owl_merchant_memory.latest_heartbeat_band |
|
session_count |
integer | Session Count | Session Count for owl merchant memory | field.owl_merchant_memory.session_count |
|
score_trend |
text | Score Trend | Score Trend for owl merchant memory | field.owl_merchant_memory.score_trend |
|
recurring_categories |
text | Recurring Categories | Recurring Categories for owl merchant memory | field.owl_merchant_memory.recurring_categories |
|
running_summary |
text | Running Summary | Running Summary for owl merchant memory | field.owl_merchant_memory.running_summary |
|
actions_taken |
text | Actions Taken | Actions Taken for owl merchant memory | field.owl_merchant_memory.actions_taken |
|
is_cold_start |
boolean | Is Cold Start | Is Cold Start for owl merchant memory | field.owl_merchant_memory.is_cold_start |
|
created_at |
datetime | Created At | Created At for owl merchant memory | field.owl_merchant_memory.created_at |
|
updated_at |
datetime | Updated At | Updated At for owl merchant memory | field.owl_merchant_memory.updated_at |
|
created_by |
text | Created By | Created By for owl merchant memory | field.owl_merchant_memory.created_by |
|
modified_by |
text | Modified By | Modified By for owl merchant memory | field.owl_merchant_memory.modified_by |
Owl Action Log
Actions taken on Owl findings (acknowledged, dismissed, escalated) | Schema:
app| Immutable: Yes
| Field | Type | Label | Description | Searchable | i18n Key |
|---|---|---|---|---|---|
id |
uuid | ID | ID for owl action log | ✓ | field.owl_action_log.id |
merchant_id |
text | Merchant ID | Merchant ID for owl action log | field.owl_action_log.merchant_id |
|
finding_id |
text | Finding ID | Finding ID for owl action log | field.owl_action_log.finding_id |
|
session_id |
text | Session ID | Session ID for owl action log | field.owl_action_log.session_id |
|
action_type |
text | Action Type | Action Type for owl action log | ✓ | field.owl_action_log.action_type |
action_detail |
text | Action Detail | Action Detail for owl action log | field.owl_action_log.action_detail |
|
outcome |
text | Outcome | Outcome for owl action log | field.owl_action_log.outcome |
|
created_at |
datetime | Created At | Created At for owl action log | field.owl_action_log.created_at |
|
updated_at |
datetime | Updated At | Updated At for owl action log | field.owl_action_log.updated_at |
|
created_by |
text | Created By | Created By for owl action log | field.owl_action_log.created_by |
|
modified_by |
text | Modified By | Modified By for owl action log | field.owl_action_log.modified_by |
Metrics & Analytics
Computed analytics — dimensions, aggregations, risk scores, scorecards, and ML features
Daily Metrics
Location-level daily aggregations — transactions, sales, refunds, voids, alerts | Schema:
metrics| Immutable: Yes
| Field | Type | Label | Description | Searchable | i18n Key |
|---|---|---|---|---|---|
id |
uuid | ID | ID for daily metrics | ✓ | field.daily_metrics.id |
merchant_id |
text | Merchant ID | Merchant ID for daily metrics | field.daily_metrics.merchant_id |
|
location_id |
text | Location ID | Location ID for daily metrics | field.daily_metrics.location_id |
|
metric_date |
datetime | Metric Date | Metric Date for daily metrics | field.daily_metrics.metric_date |
|
transaction_count |
integer | Transaction Count | Transaction Count for daily metrics | field.daily_metrics.transaction_count |
|
gross_sales_cents |
integer | Gross Sales Cents | Gross Sales Cents for daily metrics | field.daily_metrics.gross_sales_cents |
|
refund_count |
integer | Refund Count | Refund Count for daily metrics | field.daily_metrics.refund_count |
|
refund_amount_cents |
integer | Refund Amount Cents | Refund Amount Cents for daily metrics | field.daily_metrics.refund_amount_cents |
|
void_count |
integer | Void Count | Void Count for daily metrics | field.daily_metrics.void_count |
|
void_total_cents |
integer | Void Total Cents | Void Total Cents for daily metrics | field.daily_metrics.void_total_cents |
|
no_sale_count |
integer | No Sale Count | No Sale Count for daily metrics | field.daily_metrics.no_sale_count |
|
cash_variance_cents |
integer | Cash Variance Cents | Cash Variance Cents for daily metrics | field.daily_metrics.cash_variance_cents |
|
alert_count |
integer | Alert Count | Alert Count for daily metrics | field.daily_metrics.alert_count |
|
unique_employees |
integer | Unique Employees | Unique Employees for daily metrics | field.daily_metrics.unique_employees |
|
unique_customers |
integer | Unique Customers | Unique Customers for daily metrics | field.daily_metrics.unique_customers |
|
discount_total_cents |
integer | Discount Total Cents | Discount Total Cents for daily metrics | field.daily_metrics.discount_total_cents |
|
custom_amount_count |
integer | Custom Amount Count | Custom Amount Count for daily metrics | field.daily_metrics.custom_amount_count |
|
tip_total_cents |
integer | Tip Total Cents | Tip Total Cents for daily metrics | field.daily_metrics.tip_total_cents |
|
created_at |
datetime | Created At | Created At for daily metrics | field.daily_metrics.created_at |
|
cash_txn_count |
integer | Cash Txn Count | Cash Txn Count for daily metrics | field.daily_metrics.cash_txn_count |
|
card_txn_count |
integer | Card Txn Count | Card Txn Count for daily metrics | field.daily_metrics.card_txn_count |
|
other_txn_count |
integer | Other Txn Count | Other Txn Count for daily metrics | field.daily_metrics.other_txn_count |
|
total_items_sold |
integer | Total Items Sold | Total Items Sold for daily metrics | field.daily_metrics.total_items_sold |
|
gift_card_load_count |
integer | Gift Card Load Count | Gift card loads per day | field.daily_metrics.gift_card_load_count |
|
gift_card_load_cents |
integer | Gift Card Load Cents | Total gift card load amount in cents | field.daily_metrics.gift_card_load_cents |
|
gift_card_redeem_count |
integer | Gift Card Redeem Count | Gift card redemptions per day | field.daily_metrics.gift_card_redeem_count |
|
gift_card_redeem_cents |
integer | Gift Card Redeem Cents | Total gift card redemption amount in cents | field.daily_metrics.gift_card_redeem_cents |
|
loyalty_accrual_count |
integer | Loyalty Accrual Count | Loyalty point accruals per day | field.daily_metrics.loyalty_accrual_count |
|
loyalty_redeem_count |
integer | Loyalty Redeem Count | Loyalty point redemptions per day | field.daily_metrics.loyalty_redeem_count |
|
loyalty_points_net |
integer | Loyalty Points Net | Net loyalty points change per day | field.daily_metrics.loyalty_points_net |
|
dispute_count |
integer | Dispute Count | Payment disputes reported per day | field.daily_metrics.dispute_count |
|
dispute_amount_cents |
integer | Dispute Amount Cents | Total disputed amount in cents | field.daily_metrics.dispute_amount_cents |
|
invoice_count |
integer | Invoice Count | Invoices issued per day | field.daily_metrics.invoice_count |
|
invoice_amount_cents |
integer | Invoice Amount Cents | Total invoice amount in cents | field.daily_metrics.invoice_amount_cents |
|
shrinkage_count |
integer | Shrinkage Count | Inventory shrinkage adjustments per day | field.daily_metrics.shrinkage_count |
|
shrinkage_quantity |
text | Shrinkage Quantity | Total shrinkage quantity | field.daily_metrics.shrinkage_quantity |
Hourly Metrics
Location-level hourly aggregations for intra-day pattern detection | Schema:
metrics| Immutable: Yes
| Field | Type | Label | Description | Searchable | i18n Key |
|---|---|---|---|---|---|
id |
uuid | ID | ID for hourly metrics | ✓ | field.hourly_metrics.id |
merchant_id |
text | Merchant ID | Merchant ID for hourly metrics | field.hourly_metrics.merchant_id |
|
location_id |
text | Location ID | Location ID for hourly metrics | field.hourly_metrics.location_id |
|
metric_date |
datetime | Metric Date | Metric Date for hourly metrics | field.hourly_metrics.metric_date |
|
metric_hour |
integer | Metric Hour | Metric Hour for hourly metrics | field.hourly_metrics.metric_hour |
|
transaction_count |
integer | Transaction Count | Transaction Count for hourly metrics | field.hourly_metrics.transaction_count |
|
gross_sales_cents |
integer | Gross Sales Cents | Gross Sales Cents for hourly metrics | field.hourly_metrics.gross_sales_cents |
|
refund_count |
integer | Refund Count | Refund Count for hourly metrics | field.hourly_metrics.refund_count |
|
alert_count |
integer | Alert Count | Alert Count for hourly metrics | field.hourly_metrics.alert_count |
|
created_at |
datetime | Created At | Created At for hourly metrics | field.hourly_metrics.created_at |
|
void_count |
integer | Void Count | Void Count for hourly metrics | field.hourly_metrics.void_count |
|
no_sale_count |
integer | No Sale Count | No Sale Count for hourly metrics | field.hourly_metrics.no_sale_count |
|
discount_total_cents |
integer | Discount Total Cents | Discount Total Cents for hourly metrics | field.hourly_metrics.discount_total_cents |
|
employee_id |
text | Employee ID | Employee ID for hourly metrics | field.hourly_metrics.employee_id |
Period Metrics
Fiscal period (4-5-4 calendar) aggregations by location | Schema:
metrics| Immutable: Yes
| Field | Type | Label | Description | Searchable | i18n Key |
|---|---|---|---|---|---|
id |
uuid | ID | ID for period metrics | ✓ | field.period_metrics.id |
merchant_id |
text | Merchant ID | Merchant ID for period metrics | field.period_metrics.merchant_id |
|
location_id |
text | Location ID | Location ID for period metrics | field.period_metrics.location_id |
|
fiscal_year |
integer | Fiscal Year | Fiscal Year for period metrics | field.period_metrics.fiscal_year |
|
fiscal_quarter |
integer | Fiscal Quarter | Fiscal Quarter for period metrics | field.period_metrics.fiscal_quarter |
|
fiscal_period |
integer | Fiscal Period | Fiscal Period for period metrics | field.period_metrics.fiscal_period |
|
period_start_date |
datetime | Period Start Date | Period Start Date for period metrics | field.period_metrics.period_start_date |
|
period_end_date |
datetime | Period End Date | Period End Date for period metrics | field.period_metrics.period_end_date |
|
days_in_period |
integer | Days In Period | Days In Period for period metrics | field.period_metrics.days_in_period |
|
transaction_count |
integer | Transaction Count | Transaction Count for period metrics | field.period_metrics.transaction_count |
|
gross_sales_cents |
integer | Gross Sales Cents | Gross Sales Cents for period metrics | field.period_metrics.gross_sales_cents |
|
refund_count |
integer | Refund Count | Refund Count for period metrics | field.period_metrics.refund_count |
|
refund_amount_cents |
integer | Refund Amount Cents | Refund Amount Cents for period metrics | field.period_metrics.refund_amount_cents |
|
void_count |
integer | Void Count | Void Count for period metrics | field.period_metrics.void_count |
|
void_total_cents |
integer | Void Total Cents | Void Total Cents for period metrics | field.period_metrics.void_total_cents |
|
no_sale_count |
integer | No Sale Count | No Sale Count for period metrics | field.period_metrics.no_sale_count |
|
cash_variance_cents |
integer | Cash Variance Cents | Cash Variance Cents for period metrics | field.period_metrics.cash_variance_cents |
|
discount_total_cents |
integer | Discount Total Cents | Discount Total Cents for period metrics | field.period_metrics.discount_total_cents |
|
custom_amount_count |
integer | Custom Amount Count | Custom Amount Count for period metrics | field.period_metrics.custom_amount_count |
|
alert_count |
integer | Alert Count | Alert Count for period metrics | field.period_metrics.alert_count |
|
unique_employees |
integer | Unique Employees | Unique Employees for period metrics | field.period_metrics.unique_employees |
|
unique_customers |
integer | Unique Customers | Unique Customers for period metrics | field.period_metrics.unique_customers |
|
sra_total_cents |
integer | SRA Total Cents | SRA Total Cents for period metrics | field.period_metrics.sra_total_cents |
|
sra_pct_sales |
integer | SRA % Sales | SRA % Sales for period metrics | field.period_metrics.sra_pct_sales |
|
created_at |
datetime | Created At | Created At for period metrics | field.period_metrics.created_at |
|
cash_txn_count |
integer | Cash Txn Count | Cash Txn Count for period metrics | field.period_metrics.cash_txn_count |
|
card_txn_count |
integer | Card Txn Count | Card Txn Count for period metrics | field.period_metrics.card_txn_count |
|
other_txn_count |
integer | Other Txn Count | Other Txn Count for period metrics | field.period_metrics.other_txn_count |
|
total_items_sold |
integer | Total Items Sold | Total Items Sold for period metrics | field.period_metrics.total_items_sold |
|
gift_card_load_count |
integer | Gift Card Load Count | Gift card loads per period | field.period_metrics.gift_card_load_count |
|
gift_card_load_cents |
integer | Gift Card Load Cents | Total gift card load amount in cents | field.period_metrics.gift_card_load_cents |
|
gift_card_redeem_count |
integer | Gift Card Redeem Count | Gift card redemptions per period | field.period_metrics.gift_card_redeem_count |
|
gift_card_redeem_cents |
integer | Gift Card Redeem Cents | Total gift card redemption amount in cents | field.period_metrics.gift_card_redeem_cents |
|
loyalty_accrual_count |
integer | Loyalty Accrual Count | Loyalty point accruals per period | field.period_metrics.loyalty_accrual_count |
|
loyalty_redeem_count |
integer | Loyalty Redeem Count | Loyalty point redemptions per period | field.period_metrics.loyalty_redeem_count |
|
loyalty_points_net |
integer | Loyalty Points Net | Net loyalty points change per period | field.period_metrics.loyalty_points_net |
|
dispute_count |
integer | Dispute Count | Payment disputes reported per period | field.period_metrics.dispute_count |
|
dispute_amount_cents |
integer | Dispute Amount Cents | Total disputed amount in cents | field.period_metrics.dispute_amount_cents |
|
invoice_count |
integer | Invoice Count | Invoices issued per period | field.period_metrics.invoice_count |
|
invoice_amount_cents |
integer | Invoice Amount Cents | Total invoice amount in cents | field.period_metrics.invoice_amount_cents |
|
shrinkage_count |
integer | Shrinkage Count | Inventory shrinkage adjustments per period | field.period_metrics.shrinkage_count |
|
shrinkage_quantity |
text | Shrinkage Quantity | Total shrinkage quantity | field.period_metrics.shrinkage_quantity |
Employee Daily Metrics
Per-employee daily aggregations — transactions, refunds, voids, risk snapshots | Schema:
metrics| Immutable: Yes
| Field | Type | Label | Description | Searchable | i18n Key |
|---|---|---|---|---|---|
id |
uuid | ID | ID for employee daily metrics | ✓ | field.employee_daily_metrics.id |
merchant_id |
text | Merchant ID | Merchant ID for employee daily metrics | field.employee_daily_metrics.merchant_id |
|
employee_id |
text | Employee ID | Employee ID for employee daily metrics | field.employee_daily_metrics.employee_id |
|
location_id |
text | Location ID | Location ID for employee daily metrics | field.employee_daily_metrics.location_id |
|
metric_date |
datetime | Metric Date | Metric Date for employee daily metrics | field.employee_daily_metrics.metric_date |
|
transaction_count |
integer | Transaction Count | Transaction Count for employee daily metrics | field.employee_daily_metrics.transaction_count |
|
refund_count |
integer | Refund Count | Refund Count for employee daily metrics | field.employee_daily_metrics.refund_count |
|
void_count |
integer | Void Count | Void Count for employee daily metrics | field.employee_daily_metrics.void_count |
|
no_sale_count |
integer | No Sale Count | No Sale Count for employee daily metrics | field.employee_daily_metrics.no_sale_count |
|
discount_total_cents |
integer | Discount Total Cents | Discount Total Cents for employee daily metrics | field.employee_daily_metrics.discount_total_cents |
|
off_clock_flag |
boolean | Off Clock Flag | Off Clock Flag for employee daily metrics | field.employee_daily_metrics.off_clock_flag |
|
alert_count |
integer | Alert Count | Alert Count for employee daily metrics | field.employee_daily_metrics.alert_count |
|
risk_score_snapshot |
integer | Risk Score Snapshot | Risk Score Snapshot for employee daily metrics | field.employee_daily_metrics.risk_score_snapshot |
|
custom_amount_count |
integer | Custom Amount Count | Custom Amount Count for employee daily metrics | field.employee_daily_metrics.custom_amount_count |
|
created_at |
datetime | Created At | Created At for employee daily metrics | field.employee_daily_metrics.created_at |
|
gross_sales_cents |
integer | Gross Sales Cents | Gross Sales Cents for employee daily metrics | field.employee_daily_metrics.gross_sales_cents |
|
gift_card_load_count |
integer | Gift Card Load Count | Gift card loads per day | field.employee_daily_metrics.gift_card_load_count |
|
gift_card_load_cents |
integer | Gift Card Load Cents | Total gift card load amount in cents | field.employee_daily_metrics.gift_card_load_cents |
|
gift_card_redeem_count |
integer | Gift Card Redeem Count | Gift card redemptions per day | field.employee_daily_metrics.gift_card_redeem_count |
|
gift_card_redeem_cents |
integer | Gift Card Redeem Cents | Total gift card redemption amount in cents | field.employee_daily_metrics.gift_card_redeem_cents |
|
loyalty_accrual_count |
integer | Loyalty Accrual Count | Loyalty point accruals per day | field.employee_daily_metrics.loyalty_accrual_count |
|
loyalty_redeem_count |
integer | Loyalty Redeem Count | Loyalty point redemptions per day | field.employee_daily_metrics.loyalty_redeem_count |
|
shrinkage_count |
integer | Shrinkage Count | Inventory shrinkage adjustments per day | field.employee_daily_metrics.shrinkage_count |
|
shrinkage_quantity |
text | Shrinkage Quantity | Total shrinkage quantity | field.employee_daily_metrics.shrinkage_quantity |
Employee Period Metrics
Per-employee fiscal period aggregations with risk score trends | Schema:
metrics| Immutable: Yes
| Field | Type | Label | Description | Searchable | i18n Key |
|---|---|---|---|---|---|
id |
uuid | ID | ID for employee period metrics | ✓ | field.employee_period_metrics.id |
merchant_id |
text | Merchant ID | Merchant ID for employee period metrics | field.employee_period_metrics.merchant_id |
|
employee_id |
text | Employee ID | Employee ID for employee period metrics | field.employee_period_metrics.employee_id |
|
location_id |
text | Location ID | Location ID for employee period metrics | field.employee_period_metrics.location_id |
|
fiscal_year |
integer | Fiscal Year | Fiscal Year for employee period metrics | field.employee_period_metrics.fiscal_year |
|
fiscal_quarter |
integer | Fiscal Quarter | Fiscal Quarter for employee period metrics | field.employee_period_metrics.fiscal_quarter |
|
fiscal_period |
integer | Fiscal Period | Fiscal Period for employee period metrics | field.employee_period_metrics.fiscal_period |
|
period_start_date |
datetime | Period Start Date | Period Start Date for employee period metrics | field.employee_period_metrics.period_start_date |
|
period_end_date |
datetime | Period End Date | Period End Date for employee period metrics | field.employee_period_metrics.period_end_date |
|
transaction_count |
integer | Transaction Count | Transaction Count for employee period metrics | field.employee_period_metrics.transaction_count |
|
refund_count |
integer | Refund Count | Refund Count for employee period metrics | field.employee_period_metrics.refund_count |
|
void_count |
integer | Void Count | Void Count for employee period metrics | field.employee_period_metrics.void_count |
|
no_sale_count |
integer | No Sale Count | No Sale Count for employee period metrics | field.employee_period_metrics.no_sale_count |
|
discount_total_cents |
integer | Discount Total Cents | Discount Total Cents for employee period metrics | field.employee_period_metrics.discount_total_cents |
|
custom_amount_count |
integer | Custom Amount Count | Custom Amount Count for employee period metrics | field.employee_period_metrics.custom_amount_count |
|
alert_count |
integer | Alert Count | Alert Count for employee period metrics | field.employee_period_metrics.alert_count |
|
off_clock_days |
integer | Off Clock Days | Off Clock Days for employee period metrics | field.employee_period_metrics.off_clock_days |
|
avg_risk_score |
integer | Average Risk Score | Average Risk Score for employee period metrics | field.employee_period_metrics.avg_risk_score |
|
max_risk_score |
integer | Max Risk Score | Max Risk Score for employee period metrics | field.employee_period_metrics.max_risk_score |
|
created_at |
datetime | Created At | Created At for employee period metrics | field.employee_period_metrics.created_at |
|
gross_sales_cents |
integer | Gross Sales Cents | Gross Sales Cents for employee period metrics | field.employee_period_metrics.gross_sales_cents |
|
gift_card_load_count |
integer | Gift Card Load Count | Gift card loads per period | field.employee_period_metrics.gift_card_load_count |
|
gift_card_load_cents |
integer | Gift Card Load Cents | Total gift card load amount in cents | field.employee_period_metrics.gift_card_load_cents |
|
gift_card_redeem_count |
integer | Gift Card Redeem Count | Gift card redemptions per period | field.employee_period_metrics.gift_card_redeem_count |
|
gift_card_redeem_cents |
integer | Gift Card Redeem Cents | Total gift card redemption amount in cents | field.employee_period_metrics.gift_card_redeem_cents |
|
loyalty_accrual_count |
integer | Loyalty Accrual Count | Loyalty point accruals per period | field.employee_period_metrics.loyalty_accrual_count |
|
loyalty_redeem_count |
integer | Loyalty Redeem Count | Loyalty point redemptions per period | field.employee_period_metrics.loyalty_redeem_count |
|
shrinkage_count |
integer | Shrinkage Count | Inventory shrinkage adjustments per period | field.employee_period_metrics.shrinkage_count |
|
shrinkage_quantity |
text | Shrinkage Quantity | Total shrinkage quantity | field.employee_period_metrics.shrinkage_quantity |
Product Daily Metrics
Per-product daily sales, returns, and discount aggregations | Schema:
metrics| Immutable: Yes
| Field | Type | Label | Description | Searchable | i18n Key |
|---|---|---|---|---|---|
id |
uuid | ID | ID for product daily metrics | ✓ | field.product_daily_metrics.id |
merchant_id |
text | Merchant ID | Merchant ID for product daily metrics | field.product_daily_metrics.merchant_id |
|
product_id |
text | Product ID | Product ID for product daily metrics | field.product_daily_metrics.product_id |
|
location_id |
text | Location ID | Location ID for product daily metrics | field.product_daily_metrics.location_id |
|
metric_date |
datetime | Metric Date | Metric Date for product daily metrics | field.product_daily_metrics.metric_date |
|
units_sold |
integer | Units Sold | Units Sold for product daily metrics | field.product_daily_metrics.units_sold |
|
units_returned |
integer | Units Returned | Units Returned for product daily metrics | field.product_daily_metrics.units_returned |
|
return_rate |
integer | Return Rate | Return Rate for product daily metrics | field.product_daily_metrics.return_rate |
|
gross_sales_cents |
integer | Gross Sales Cents | Gross Sales Cents for product daily metrics | field.product_daily_metrics.gross_sales_cents |
|
discount_cents |
integer | Discount Cents | Discount Cents for product daily metrics | field.product_daily_metrics.discount_cents |
|
created_at |
datetime | Created At | Created At for product daily metrics | field.product_daily_metrics.created_at |
Monthly Scorecard
Monthly KPI scorecards by location | Schema:
metrics| Immutable: Yes
| Field | Type | Label | Description | Searchable | i18n Key |
|---|---|---|---|---|---|
id |
uuid | ID | ID for monthly scorecard | ✓ | field.monthly_scorecard.id |
merchant_id |
text | Merchant ID | Merchant ID for monthly scorecard | field.monthly_scorecard.merchant_id |
|
location_id |
text | Location ID | Location ID for monthly scorecard | field.monthly_scorecard.location_id |
|
month |
datetime | Month | Month for monthly scorecard | field.monthly_scorecard.month |
|
kpis |
text | KPIs | KPIs for monthly scorecard | field.monthly_scorecard.kpis |
|
created_at |
datetime | Created At | Created At for monthly scorecard | field.monthly_scorecard.created_at |
Weekly Scorecard
Weekly KPI scorecards by location | Schema:
metrics| Immutable: Yes
| Field | Type | Label | Description | Searchable | i18n Key |
|---|---|---|---|---|---|
id |
uuid | ID | ID for weekly scorecard | ✓ | field.weekly_scorecard.id |
merchant_id |
text | Merchant ID | Merchant ID for weekly scorecard | field.weekly_scorecard.merchant_id |
|
location_id |
text | Location ID | Location ID for weekly scorecard | field.weekly_scorecard.location_id |
|
week_start |
datetime | Week Start | Week Start for weekly scorecard | field.weekly_scorecard.week_start |
|
week_end |
datetime | Week End | Week End for weekly scorecard | field.weekly_scorecard.week_end |
|
kpis |
text | KPIs | KPIs for weekly scorecard | field.weekly_scorecard.kpis |
|
created_at |
datetime | Created At | Created At for weekly scorecard | field.weekly_scorecard.created_at |
Entity Risk Scores
Current risk scores for employees, locations, and other entities | Schema:
metrics| Immutable: No
| Field | Type | Label | Description | Searchable | i18n Key |
|---|---|---|---|---|---|
id |
uuid | ID | ID for entity risk scores | ✓ | field.entity_risk_scores.id |
merchant_id |
text | Merchant ID | Merchant ID for entity risk scores | field.entity_risk_scores.merchant_id |
|
entity_type |
text | Entity Type | Entity Type for entity risk scores | ✓ | field.entity_risk_scores.entity_type |
entity_id |
text | Entity ID | Entity ID for entity risk scores | field.entity_risk_scores.entity_id |
|
risk_score |
integer | Risk Score | Risk Score for entity risk scores | field.entity_risk_scores.risk_score |
|
risk_category |
text | Risk Category | Risk Category for entity risk scores | ✓ | field.entity_risk_scores.risk_category |
factors |
text | Factors | Factors for entity risk scores | field.entity_risk_scores.factors |
|
updated_at |
datetime | Updated At | Updated At for entity risk scores | field.entity_risk_scores.updated_at |
Risk Score History
Historical risk score snapshots for trend analysis | Schema:
metrics| Immutable: Yes
| Field | Type | Label | Description | Searchable | i18n Key |
|---|---|---|---|---|---|
id |
uuid | ID | ID for risk score history | ✓ | field.risk_score_history.id |
merchant_id |
text | Merchant ID | Merchant ID for risk score history | field.risk_score_history.merchant_id |
|
entity_type |
text | Entity Type | Entity Type for risk score history | ✓ | field.risk_score_history.entity_type |
entity_id |
text | Entity ID | Entity ID for risk score history | field.risk_score_history.entity_id |
|
risk_score |
integer | Risk Score | Risk Score for risk score history | field.risk_score_history.risk_score |
|
risk_category |
text | Risk Category | Risk Category for risk score history | ✓ | field.risk_score_history.risk_category |
factors |
text | Factors | Factors for risk score history | field.risk_score_history.factors |
|
recorded_at |
datetime | Recorded At | Recorded At for risk score history | field.risk_score_history.recorded_at |
Velocity Baselines
Statistical baselines for transaction velocity by time-of-day and day-of-week | Schema:
metrics| Immutable: No
| Field | Type | Label | Description | Searchable | i18n Key |
|---|---|---|---|---|---|
id |
uuid | ID | ID for velocity baselines | ✓ | field.velocity_baselines.id |
merchant_id |
text | Merchant ID | Merchant ID for velocity baselines | field.velocity_baselines.merchant_id |
|
metric_name |
text | Metric Name | Metric Name for velocity baselines | ✓ | field.velocity_baselines.metric_name |
location_id |
text | Location ID | Location ID for velocity baselines | field.velocity_baselines.location_id |
|
day_of_week |
integer | Day Of Week | Day Of Week for velocity baselines | field.velocity_baselines.day_of_week |
|
hour_of_day |
integer | Hour Of Day | Hour Of Day for velocity baselines | field.velocity_baselines.hour_of_day |
|
mean_value |
integer | Mean Value | Mean Value for velocity baselines | field.velocity_baselines.mean_value |
|
std_deviation |
integer | Standard Deviation | Standard Deviation for velocity baselines | field.velocity_baselines.std_deviation |
|
sample_count |
integer | Sample Count | Sample Count for velocity baselines | field.velocity_baselines.sample_count |
|
min_value |
integer | Min Value | Min Value for velocity baselines | field.velocity_baselines.min_value |
|
max_value |
integer | Max Value | Max Value for velocity baselines | field.velocity_baselines.max_value |
|
window_days |
integer | Window Days | Window Days for velocity baselines | field.velocity_baselines.window_days |
|
calculated_at |
datetime | Calculated At | Calculated At for velocity baselines | field.velocity_baselines.calculated_at |
Metric Baselines
Statistical baselines for general metrics with standard deviation bands | Schema:
metrics| Immutable: No
| Field | Type | Label | Description | Searchable | i18n Key |
|---|---|---|---|---|---|
id |
uuid | ID | ID for metric baselines | ✓ | field.metric_baselines.id |
merchant_id |
text | Merchant ID | Merchant ID for metric baselines | field.metric_baselines.merchant_id |
|
metric_name |
text | Metric Name | Metric Name for metric baselines | ✓ | field.metric_baselines.metric_name |
location_id |
text | Location ID | Location ID for metric baselines | field.metric_baselines.location_id |
|
baseline_value |
integer | Baseline Value | Baseline Value for metric baselines | field.metric_baselines.baseline_value |
|
std_deviation |
integer | Standard Deviation | Standard Deviation for metric baselines | field.metric_baselines.std_deviation |
|
sample_size |
integer | Sample Size | Sample Size for metric baselines | field.metric_baselines.sample_size |
|
calculated_at |
datetime | Calculated At | Calculated At for metric baselines | field.metric_baselines.calculated_at |
|
period_start |
datetime | Period Start | Period Start for metric baselines | field.metric_baselines.period_start |
|
period_end |
datetime | Period End | Period End for metric baselines | field.metric_baselines.period_end |
Scorecard Thresholds
Configurable threshold bands (normal/watch/review) for scorecard metrics | Schema:
metrics| Immutable: No
| Field | Type | Label | Description | Searchable | i18n Key |
|---|---|---|---|---|---|
id |
uuid | ID | ID for scorecard thresholds | ✓ | field.scorecard_thresholds.id |
merchant_id |
text | Merchant ID | Merchant ID for scorecard thresholds | field.scorecard_thresholds.merchant_id |
|
metric_name |
text | Metric Name | Metric Name for scorecard thresholds | ✓ | field.scorecard_thresholds.metric_name |
normal_upper_pct |
integer | Normal Upper % | Normal Upper % for scorecard thresholds | field.scorecard_thresholds.normal_upper_pct |
|
watch_upper_pct |
integer | Watch Upper % | Watch Upper % for scorecard thresholds | field.scorecard_thresholds.watch_upper_pct |
|
review_upper_pct |
integer | Review Upper % | Review Upper % for scorecard thresholds | field.scorecard_thresholds.review_upper_pct |
|
direction |
text | Direction | Direction for scorecard thresholds | field.scorecard_thresholds.direction |
|
is_active |
boolean | Is Active | Is Active for scorecard thresholds | field.scorecard_thresholds.is_active |
|
created_at |
datetime | Created At | Created At for scorecard thresholds | field.scorecard_thresholds.created_at |
|
updated_at |
datetime | Updated At | Updated At for scorecard thresholds | field.scorecard_thresholds.updated_at |
Dashboard Config
Per-merchant dashboard layout and display preferences | Schema:
metrics| Immutable: No
| Field | Type | Label | Description | Searchable | i18n Key |
|---|---|---|---|---|---|
id |
uuid | ID | ID for dashboard config | ✓ | field.dashboard_config.id |
merchant_id |
text | Merchant ID | Merchant ID for dashboard config | field.dashboard_config.merchant_id |
|
layout |
text | Layout | Layout for dashboard config | field.dashboard_config.layout |
|
refresh_interval_seconds |
integer | Refresh Interval Seconds | Refresh Interval Seconds for dashboard config | field.dashboard_config.refresh_interval_seconds |
|
show_employee_heatmap |
boolean | Show Employee Heatmap | Show Employee Heatmap for dashboard config | field.dashboard_config.show_employee_heatmap |
|
show_trend_arrows |
boolean | Show Trend Arrows | Show Trend Arrows for dashboard config | field.dashboard_config.show_trend_arrows |
|
created_at |
datetime | Created At | Created At for dashboard config | field.dashboard_config.created_at |
|
updated_at |
datetime | Updated At | Updated At for dashboard config | field.dashboard_config.updated_at |
Transaction Features
ML feature vectors computed per transaction for risk scoring | Schema:
metrics| Immutable: Yes
| Field | Type | Label | Description | Searchable | i18n Key |
|---|---|---|---|---|---|
id |
uuid | ID | ID for transaction features | ✓ | field.transaction_features.id |
merchant_id |
text | Merchant ID | Merchant ID for transaction features | field.transaction_features.merchant_id |
|
transaction_id |
text | Transaction ID | Transaction ID for transaction features | field.transaction_features.transaction_id |
|
feature_vector |
text | Feature Vector | Feature Vector for transaction features | field.transaction_features.feature_vector |
|
risk_score |
integer | Risk Score | Risk Score for transaction features | field.transaction_features.risk_score |
|
model_id |
text | Model ID | Model ID for transaction features | field.transaction_features.model_id |
|
scored_at |
datetime | Scored At | Scored At for transaction features | field.transaction_features.scored_at |
Feature Definitions
ML feature catalog — what each feature measures and its source | Schema:
metrics| Immutable: No
| Field | Type | Label | Description | Searchable | i18n Key |
|---|---|---|---|---|---|
id |
uuid | ID | ID for feature definitions | ✓ | field.feature_definitions.id |
feature_name |
text | Feature Name | Feature Name for feature definitions | ✓ | field.feature_definitions.feature_name |
description |
text | Description | Description for feature definitions | field.feature_definitions.description |
|
feature_type |
text | Feature Type | Feature Type for feature definitions | ✓ | field.feature_definitions.feature_type |
source_table |
text | Source Table | Source Table for feature definitions | field.feature_definitions.source_table |
|
source_column |
text | Source Column | Source Column for feature definitions | field.feature_definitions.source_column |
|
is_active |
boolean | Is Active | Is Active for feature definitions | field.feature_definitions.is_active |
|
created_at |
datetime | Created At | Created At for feature definitions | field.feature_definitions.created_at |
ML Models
Trained ML model registry with versioning and performance metrics | Schema:
metrics| Immutable: No
| Field | Type | Label | Description | Searchable | i18n Key |
|---|---|---|---|---|---|
id |
uuid | ID | ID for ml models | ✓ | field.ml_models.id |
model_name |
text | Model Name | Model Name for ml models | ✓ | field.ml_models.model_name |
model_version |
text | Model Version | Model Version for ml models | field.ml_models.model_version |
|
model_type |
text | Model Type | Model Type for ml models | ✓ | field.ml_models.model_type |
trained_at |
datetime | Trained At | Trained At for ml models | field.ml_models.trained_at |
|
metrics |
text | Metrics | Metrics for ml models | field.ml_models.metrics |
|
is_active |
boolean | Is Active | Is Active for ml models | field.ml_models.is_active |
|
created_at |
datetime | Created At | Created At for ml models | field.ml_models.created_at |
Date Dimension
Calendar dimension table with fiscal year support for time-series joins | Schema:
metrics| Immutable: No
| Field | Type | Label | Description | Searchable | i18n Key |
|---|---|---|---|---|---|
date_key |
datetime | Date Key | Date Key for dim date | field.dim_date.date_key |
|
year |
integer | Year | Year for dim date | field.dim_date.year |
|
quarter |
integer | Quarter | Quarter for dim date | field.dim_date.quarter |
|
month |
integer | Month | Month for dim date | field.dim_date.month |
|
week |
integer | Week | Week for dim date | field.dim_date.week |
|
day_of_week |
integer | Day Of Week | Day Of Week for dim date | field.dim_date.day_of_week |
|
day_name |
text | Day Name | Day Name for dim date | ✓ | field.dim_date.day_name |
is_weekend |
boolean | Is Weekend | Is Weekend for dim date | field.dim_date.is_weekend |
|
is_holiday |
boolean | Is Holiday | Is Holiday for dim date | field.dim_date.is_holiday |
|
fiscal_year |
integer | Fiscal Year | Fiscal Year for dim date | field.dim_date.fiscal_year |
|
fiscal_week_of_year |
integer | Fiscal Week Of Year | Fiscal Week Of Year for dim date | field.dim_date.fiscal_week_of_year |
|
fiscal_day_of_week |
integer | Fiscal Day Of Week | Fiscal Day Of Week for dim date | field.dim_date.fiscal_day_of_week |
Employee Dimension
Slowly changing employee dimension for metrics joins | Schema:
metrics| Immutable: No
| Field | Type | Label | Description | Searchable | i18n Key |
|---|---|---|---|---|---|
id |
uuid | ID | ID for dim employee | ✓ | field.dim_employee.id |
merchant_id |
text | Merchant ID | Merchant ID for dim employee | field.dim_employee.merchant_id |
|
square_employee_id |
text | Square Employee ID | Square Employee ID for dim employee | field.dim_employee.square_employee_id |
|
employee_name |
text | Employee Name | Employee Name for dim employee | ✓ | field.dim_employee.employee_name |
primary_location_id |
text | Primary Location ID | Primary Location ID for dim employee | field.dim_employee.primary_location_id |
|
risk_category |
text | Risk Category | Risk Category for dim employee | ✓ | field.dim_employee.risk_category |
created_at |
datetime | Created At | Created At for dim employee | field.dim_employee.created_at |
|
updated_at |
datetime | Updated At | Updated At for dim employee | field.dim_employee.updated_at |
Location Dimension
Slowly changing location dimension for metrics joins | Schema:
metrics| Immutable: No
| Field | Type | Label | Description | Searchable | i18n Key |
|---|---|---|---|---|---|
id |
uuid | ID | ID for dim location | ✓ | field.dim_location.id |
merchant_id |
text | Merchant ID | Merchant ID for dim location | field.dim_location.merchant_id |
|
square_location_id |
text | Square Location ID | Square Location ID for dim location | field.dim_location.square_location_id |
|
location_name |
text | Location Name | Location Name for dim location | ✓ | field.dim_location.location_name |
city |
text | City | City for dim location | field.dim_location.city |
|
state |
text | State | State for dim location | field.dim_location.state |
|
timezone |
text | Timezone | Timezone for dim location | field.dim_location.timezone |
|
created_at |
datetime | Created At | Created At for dim location | field.dim_location.created_at |
|
updated_at |
datetime | Updated At | Updated At for dim location | field.dim_location.updated_at |
Join Maps
| From | To | Relationship | Description |
|---|---|---|---|
| transactions | transaction_line_items | one_to_many | A transaction has line items |
| transactions | transaction_tenders | one_to_many | A transaction has payment tenders |
| transactions | employees | many_to_one | A transaction is processed by an employee |
| transactions | locations | many_to_one | A transaction occurs at a location |
| transactions | customers | many_to_one | A transaction is made by a customer |
| transaction_line_items | products | many_to_one | A line item refers to a product |
| alerts | detection_rules | many_to_one | An alert is triggered by a detection rule |
| alerts | employees | many_to_one | An alert involves an employee |
| alerts | alert_history | one_to_many | An alert has a status history |
| merchant_rule_config | detection_rules | many_to_one | A rule config customizes a detection rule |
| fox_cases | fox_subjects | one_to_many | A case has subjects under investigation |
| fox_cases | fox_evidence | one_to_many | A case has evidence attached |
| fox_cases | fox_case_timeline | one_to_many | A case has a timeline of events |
| fox_cases | fox_case_actions | one_to_many | A case has actions taken |
| employees | locations | many_to_one | An employee has a primary location |
| employees | alerts | one_to_many | An employee has alerts triggered against them |
| locations | cash_drawer_shifts | one_to_many | A location has cash drawer shifts |
| merchants | merchant_settings | one_to_one | A merchant has settings |
Search Catalog
| Table | Field | Operators | Value Type | Drill Path |
|---|---|---|---|---|
| transactions | Transaction ID | equal, not_equal, in_list | guid | /txn/{value} |
| transactions | Square Transaction ID | equal, not_equal, contains | text | — |
| transactions | Transaction Type | equal, not_equal, in_list | enum | — |
| transactions | Cancel Context | equal, not_equal, in_list | enum | — |
| transactions | Transaction Date | equal, greater_than, less_than, between | datetime | — |
| transactions | Amount | equal, greater_than, less_than, between | currency_cents | — |
| transactions | Tax Amount | equal, greater_than, less_than, between | currency_cents | — |
| transactions | Discount Amount | equal, greater_than, less_than, between | currency_cents | — |
| transactions | Location | equal, not_equal, in_list | guid | — |
| transactions | Employee | equal, not_equal, in_list | guid | — |
| transactions | Customer | equal, not_equal | guid | — |
| transactions | Register/Device | equal, not_equal | text | — |
| transactions | Card Fingerprint | equal, not_equal | text | — |
| transactions | Entry Method | equal, not_equal, in_list | enum | — |
| transactions | Channel | equal, not_equal | text | — |
| transactions | Approved Amount | equal, greater_than, less_than, between | currency_cents | — |
| transactions | Delay Action | equal, not_equal, in_list | enum | — |
| transactions | Card Type | equal, not_equal, in_list | enum | — |
| transactions | Card BIN | equal, not_equal | text | — |
| transactions | Verification Method | equal, not_equal, in_list | enum | — |
| transactions | Application ID | equal, not_equal | text | — |
| transactions | Device Installation ID | equal, not_equal | text | — |
| transactions | Statement Description | equal, contains | text | — |
| transactions | Offline Payment | equal | boolean | — |
| transaction_line_items | Catalog Object ID | equal, not_equal | text | — |
| transaction_line_items | Item Name | equal, contains, starts_with | text | — |
| transaction_line_items | Quantity | equal, greater_than, less_than, between | numeric | — |
| transaction_line_items | Unit Price | equal, greater_than, less_than, between | currency_cents | — |
| transaction_line_items | Extended Price | equal, greater_than, less_than, between | currency_cents | — |
| transaction_line_items | Line Discount | equal, greater_than, less_than, between | currency_cents | — |
| transaction_line_items | Item Type | equal, not_equal, in_list | enum | — |
| transaction_line_items | Is Voided | equal | boolean | — |
| transaction_tenders | Payment Method | equal, not_equal, in_list | enum | — |
| transaction_tenders | Tender Amount | equal, greater_than, less_than, between | currency_cents | — |
| transaction_tenders | Card Brand | equal, not_equal | text | — |
| transaction_tenders | Entry Method | equal, not_equal | text | — |
| cash_drawer_shifts | Shift Opened | equal, greater_than, less_than, between | datetime | — |
| cash_drawer_shifts | Shift Closed | equal, greater_than, less_than, between | datetime | — |
| cash_drawer_shifts | Expected Cash | equal, greater_than, less_than, between | currency_cents | — |
| cash_drawer_shifts | Actual Cash | equal, greater_than, less_than, between | currency_cents | — |
| gift_card_activities | Gift Card ID | equal, not_equal | text | — |
| gift_card_activities | Activity Type | equal, not_equal, in_list | enum | — |
| gift_card_activities | Amount | equal, greater_than, less_than, between | currency_cents | — |
| gift_card_activities | Balance After | equal, greater_than, less_than, between | currency_cents | — |
| gift_card_activities | Location | equal, not_equal | guid | — |
| gift_card_activities | Employee | equal, not_equal | guid | — |
| gift_card_activities | Activity Time | equal, greater_than, less_than, between | datetime | — |
| loyalty_events | Loyalty Account | equal, not_equal | text | — |
| loyalty_events | Event Type | equal, not_equal, in_list | enum | — |
| loyalty_events | Points | equal, greater_than, less_than, between | numeric | — |
| loyalty_events | Location | equal, not_equal | guid | — |
| loyalty_events | Event Time | equal, greater_than, less_than, between | datetime | — |
| line_item_discounts | Catalog Discount ID | equal, not_equal | text | — |
| line_item_discounts | Discount Name | equal, not_equal, contains | text | — |
| line_item_discounts | Discount Type | equal, not_equal, in_list | enum | — |
| line_item_discounts | Percentage | equal, not_equal, contains, in_list | text | — |
| line_item_discounts | Discount Amount | equal, greater_than, less_than, between | currency_cents | — |
| line_item_discounts | Applied Amount | equal, greater_than, less_than, between | currency_cents | — |
| line_item_discounts | Scope | equal, not_equal, in_list | enum | — |
| line_item_taxes | Catalog Tax ID | equal, not_equal | text | — |
| line_item_taxes | Tax Name | equal, not_equal, contains | text | — |
| line_item_taxes | Tax Type | equal, not_equal, in_list | enum | — |
| line_item_taxes | Percentage | equal, not_equal, contains, in_list | text | — |
| line_item_taxes | Applied Tax | equal, greater_than, less_than, between | currency_cents | — |
| line_item_taxes | Scope | equal, not_equal, in_list | enum | — |
| line_item_modifiers | Catalog Modifier ID | equal, not_equal | text | — |
| line_item_modifiers | Modifier Name | equal, not_equal, contains | text | — |
| line_item_modifiers | Quantity | equal, not_equal, contains, in_list | text | — |
| line_item_modifiers | Base Price | equal, greater_than, less_than, between | currency_cents | — |
| line_item_modifiers | Total Price | equal, greater_than, less_than, between | currency_cents | — |
| order_service_charges | Catalog Charge ID | equal, not_equal | text | — |
| order_service_charges | Charge Name | equal, not_equal, contains | text | — |
| order_service_charges | Percentage | equal, not_equal, contains, in_list | text | — |
| order_service_charges | Charge Amount | equal, greater_than, less_than, between | currency_cents | — |
| order_service_charges | Applied Amount | equal, greater_than, less_than, between | currency_cents | — |
| order_service_charges | Calculation Phase | equal, not_equal | text | — |
| order_service_charges | Taxable | equal | boolean | — |
| order_service_charges | Charge Type | equal, not_equal, in_list | enum | — |
| order_service_charges | Scope | equal, not_equal, in_list | enum | — |
| order_rewards | Reward ID | equal, not_equal | text | — |
| order_rewards | Reward Tier ID | equal, not_equal | text | — |
| order_returns | Source Order ID | equal, not_equal | text | — |
| order_returns | Return Amount | equal, greater_than, less_than, between | currency_cents | — |
| order_returns | Return Tax | equal, not_equal, greater_than, less_than, between | numeric | — |
| order_returns | Return Discount | equal, not_equal, greater_than, less_than, between | numeric | — |
| order_returns | Return Tip | equal, not_equal, greater_than, less_than, between | numeric | — |
| cash_drawer_events | Event Type | eq, in | enum | — |
| devices | Serial Number | eq | text | — |
| devices | Device Name | eq, contains | text | — |
| devices | OS Version | equal, not_equal, contains, in_list | text | — |
| devices | App Version | equal, not_equal, contains, in_list | text | — |
| devices | Network Type | equal, not_equal, in_list | enum | — |
| disputes | Reason | eq, in | text | — |
| disputes | State | eq, in | enum | — |
| disputes | Disputed Amount | equal, not_equal, greater_than, less_than, between | numeric | — |
| disputes | Evidence Due | equal, greater_than, less_than, between | datetime | — |
| disputes | Reported At | equal, greater_than, less_than, between | datetime | — |
| inventory_adjustments | Type | eq, in | enum | — |
| employee_timecards | Employee | eq | text | — |
| employee_timecards | Status | eq | enum | — |
| payouts | Status | eq, in | enum | — |
| payouts | Amount | equal, not_equal, greater_than, less_than, between | numeric | — |
| payouts | Destination Type | equal, not_equal, in_list | enum | — |
| payouts | Arrival Date | equal, greater_than, less_than, between | datetime | — |
| invoices | Invoice Number | eq, contains | ? | — |
| invoices | Title | contains | ? | — |
| invoices | Status | eq | ? | — |
| invoices | Delivery Method | equal, not_equal, contains, in_list | text | — |
| invoices | Scheduled At | equal, greater_than, less_than, between | datetime | — |
| invoices | Next Payment Amount | eq, gt, lt, between | ? | — |
| terminal_checkouts | Square Checkout ID | eq | ? | — |
| terminal_checkouts | Device ID | eq | ? | — |
| terminal_checkouts | Amount | eq, gt, lt, between | ? | — |
| terminal_checkouts | Status | eq | ? | — |
| terminal_checkouts | Cancel Reason | equal, not_equal, contains, in_list | text | — |
| terminal_refunds | Square Refund ID | eq | ? | — |
| terminal_refunds | Payment ID | eq | ? | — |
| terminal_refunds | Device ID | eq | ? | — |
| terminal_refunds | Amount | eq, gt, lt, between | ? | — |
| terminal_refunds | Reason | equal, not_equal, contains, in_list | text | — |
| terminal_refunds | Status | eq | ? | — |
| ej_links | ID | equal, not_equal, greater_than, less_than | numeric | — |
| ej_links | Event Type | equal, not_equal, contains | text | — |
| detection_rules | Rule Code | equal, not_equal, in_list | text | — |
| detection_rules | Rule Name | equal, contains | text | — |
| detection_rules | Category | equal, not_equal, in_list | enum | — |
| detection_rules | Default Severity | equal, not_equal, in_list | enum | — |
| alerts | Alert ID | equal, not_equal | guid | /alert/{value} |
| alerts | Detection Rule | equal, not_equal, in_list | text | — |
| alerts | Alert Type | equal, not_equal | text | — |
| alerts | Severity | equal, not_equal, in_list | enum | — |
| alerts | Employee | equal, not_equal | guid | — |
| alerts | Location | equal, not_equal | guid | — |
| alerts | Created At | equal, greater_than, less_than, between | datetime | — |
| alert_history | Status | equal, not_equal, in_list | enum | — |
| card_profiles | Card Fingerprint | eq | ? | — |
| card_profiles | Card Brand | eq | ? | — |
| card_profiles | Last 4 Digits | eq | ? | — |
| card_profiles | Transaction Count | eq, gt, lt | ? | — |
| card_profiles | Risk Score | eq, gt, lt | ? | — |
| notification_log | ID | equal, not_equal, in_list | guid | — |
| notification_log | Status | equal, not_equal, contains | text | — |
| fox_cases | Case ID | equal, not_equal | guid | /case/{value} |
| fox_cases | Case Number | equal, contains | text | — |
| fox_cases | Title | contains, starts_with | text | — |
| fox_cases | Case Type | equal, not_equal | text | — |
| fox_cases | Priority | equal, not_equal, in_list | enum | — |
| fox_cases | Status | equal, not_equal, in_list | enum | — |
| fox_cases | Total Loss | equal, greater_than, less_than, between | currency_cents | — |
| fox_cases | Opened At | equal, greater_than, less_than, between | datetime | — |
| fox_case_alerts | ID | equal, not_equal, in_list | guid | — |
| fox_evidence_access_log | ID | equal, not_equal, in_list | guid | — |
| fox_evidence_access_log | Access Type | equal, not_equal, contains | text | — |
| employees | Employee Name | equal, contains, starts_with | text | — |
| employees | Risk Score | equal, greater_than, less_than, between | numeric | — |
| employees | Active | equal | boolean | — |
| employees | Status | equal, not_equal | enum | — |
| locations | Location Name | equal, contains, starts_with | text | — |
| locations | Timezone | equal | text | — |
| products | Square Catalog ID | equal | text | — |
| products | Product Name | equal, contains, starts_with | text | — |
| products | Catalog Price | equal, greater_than, less_than, between | currency_cents | — |
| products | Cost of Goods | equal, greater_than, less_than, between | currency_cents | — |
| products | Category | equal, contains | text | — |
| gift_cards | Square Gift Card ID | eq | ? | — |
| gift_cards | Card Type | eq | ? | — |
| gift_cards | State | eq | ? | — |
| gift_cards | Balance | eq, gt, lt, between | ? | — |
| gift_cards | GAN | eq | ? | — |
| subscriptions | Square Subscription ID | eq | ? | — |
| subscriptions | Customer ID | eq | ? | — |
| subscriptions | Status | eq, in | ? | — |
| transfer_orders | Transfer Order ID | eq | ? | — |
| transfer_orders | State | eq, in | ? | — |
| bank_accounts | Bank Account ID | eq | ? | — |
| bank_accounts | Status | eq, in | ? | — |
| users | ID | equal, not_equal, in_list | guid | — |
| users | equal, not_equal, contains | text | — | |
| users | Display Name | equal, not_equal, contains | text | — |
| users | DB Status | equal, not_equal, contains | text | — |
| roles | ID | equal, not_equal, in_list | guid | — |
| roles | Role Name | equal, not_equal, contains | text | — |
| user_roles | ID | equal, not_equal, in_list | guid | — |
| organizations | ID | equal, not_equal, in_list | guid | — |
| organizations | Org Name | equal, not_equal, contains | text | — |
| organizations | Billing Status | equal, not_equal, contains | text | — |
| organizations | DB Status | equal, not_equal, contains | text | — |
| square_oauth_tokens | ID | equal, not_equal, in_list | guid | — |
| square_oauth_tokens | Token Type | equal, not_equal, contains | text | — |
| location_hierarchy | ID | equal, not_equal, in_list | guid | — |
| location_hierarchy | Name | equal, not_equal, contains | text | — |
| location_hierarchy | DB Status | equal, not_equal, contains | text | — |
| source_systems | Display Name | equal, not_equal, contains | text | — |
| source_systems | Category | equal, not_equal, contains | text | — |
| merchant_sources | ID | equal, not_equal, in_list | guid | — |
| merchant_sources | Status | equal, not_equal, contains | text | — |
| interest_signups | ID | equal, not_equal, greater_than, less_than | numeric | — |
| interest_signups | equal, not_equal, contains | text | — | |
| audit_log | ID | equal, not_equal, in_list | guid | — |
| audit_log | Action | equal, not_equal, contains | text | — |
| audit_log | Resource Type | equal, not_equal, contains | text | — |
| webhook_events | ID | equal, not_equal, in_list | guid | — |
| webhook_events | Event Type | equal, not_equal, contains | text | — |
| webhook_events | Processing Status | equal, not_equal, contains | text | — |
| namespace_registrations | ID | equal, not_equal, in_list | guid | — |
| namespace_registrations | Namespace Name | equal, not_equal, contains | text | — |
| namespace_registrations | Status | equal, not_equal, contains | text | — |
| namespace_aliases | ID | equal, not_equal, greater_than, less_than | numeric | — |
| namespace_aliases | Alias Name | equal, not_equal, contains | text | — |
| namespace_aliases | Status | equal, not_equal, contains | text | — |
| app_config | ID | equal, not_equal, in_list | guid | — |
| app_config | Category | equal, not_equal, contains | text | — |
| notification_schedule | ID | equal, not_equal, in_list | guid | — |
| notification_schedule | Alert Category | equal, not_equal, contains | text | — |
| blocked_entities | ID | equal, not_equal, in_list | guid | — |
| blocked_entities | Entity Type | equal, not_equal, contains | text | — |
| blocked_entities | DB Status | equal, not_equal, contains | text | — |
| owl_sessions | ID | equal, not_equal, in_list | guid | — |
| owl_sessions | Session Type | equal, not_equal, contains | text | — |
| owl_sessions | Top Finding Category | equal, not_equal, contains | text | — |
| owl_findings | ID | equal, not_equal, in_list | guid | — |
| owl_findings | Category | equal, not_equal, contains | text | — |
| owl_merchant_memory | ID | equal, not_equal, in_list | guid | — |
| owl_action_log | ID | equal, not_equal, in_list | guid | — |
| owl_action_log | Action Type | equal, not_equal, contains | text | — |
| daily_metrics | ID | equal, not_equal, in_list | guid | — |
| hourly_metrics | ID | equal, not_equal, in_list | guid | — |
| period_metrics | ID | equal, not_equal, in_list | guid | — |
| employee_daily_metrics | ID | equal, not_equal, in_list | guid | — |
| employee_period_metrics | ID | equal, not_equal, in_list | guid | — |
| product_daily_metrics | ID | equal, not_equal, in_list | guid | — |
| monthly_scorecard | ID | equal, not_equal, in_list | guid | — |
| weekly_scorecard | ID | equal, not_equal, in_list | guid | — |
| entity_risk_scores | ID | equal, not_equal, in_list | guid | — |
| entity_risk_scores | Entity Type | equal, not_equal, contains | text | — |
| entity_risk_scores | Risk Category | equal, not_equal, contains | text | — |
| risk_score_history | ID | equal, not_equal, in_list | guid | — |
| risk_score_history | Entity Type | equal, not_equal, contains | text | — |
| risk_score_history | Risk Category | equal, not_equal, contains | text | — |
| velocity_baselines | ID | equal, not_equal, in_list | guid | — |
| velocity_baselines | Metric Name | equal, not_equal, contains | text | — |
| metric_baselines | ID | equal, not_equal, in_list | guid | — |
| metric_baselines | Metric Name | equal, not_equal, contains | text | — |
| scorecard_thresholds | ID | equal, not_equal, in_list | guid | — |
| scorecard_thresholds | Metric Name | equal, not_equal, contains | text | — |
| dashboard_config | ID | equal, not_equal, in_list | guid | — |
| transaction_features | ID | equal, not_equal, in_list | guid | — |
| feature_definitions | ID | equal, not_equal, in_list | guid | — |
| feature_definitions | Feature Name | equal, not_equal, contains | text | — |
| feature_definitions | Feature Type | equal, not_equal, contains | text | — |
| ml_models | ID | equal, not_equal, in_list | guid | — |
| ml_models | Model Name | equal, not_equal, contains | text | — |
| ml_models | Model Type | equal, not_equal, contains | text | — |
| dim_date | Day Name | equal, not_equal, contains | text | — |
| dim_employee | ID | equal, not_equal, in_list | guid | — |
| dim_employee | Employee Name | equal, not_equal, contains | text | — |
| dim_employee | Risk Category | equal, not_equal, contains | text | — |
| dim_location | ID | equal, not_equal, in_list | guid | — |
| dim_location | Location Name | equal, not_equal, contains | text | — |
Auto-generated by scripts/field_registry_build.py —
do not edit manually.